Python-pandas.DataFrame-找出有空值的行

  • Post author:
  • Post category:python


0.摘要

pandas中DataFrame类型中,找出所有有空值的行,可以使用.isnull()方法和.any()方法。

1.找出含有空值的行

方法:DataFrame[DataFrame.isnull().T.any()]

其中,isnull()能够判断数据中元素是否为空值;T为转置;any()判断该行是否有空值。

    import pandas as pd
    import numpy as np
     
    n = np.arange(20, dtype=float).reshape(5,4)
                                   我还整理了 更多Python学习资料
    
                                       进QQ群  688244617 免费自取
  
                                     群里还有小伙伴跟你一起交流学习
 n[2,3] = np.nan
    index = ['index1', 'index2', 'index3', 'index4', 'index5']
    columns = ['column1', 'column2', 'column3', 'column4']
    frame3 = pd.DataFrame(data=n, index=index, columns=columns)
    print(frame3[frame3.isnull().T.any()])

在这里插入图片描述

程序成功找到了第三行为有空值的行。

2.为什么加转置

在代码中,isnull()的结果需要求转置之后,才能进行any()操作,这是为什么呢?

下面对比一下isnull转置和非转置的情况:

    print(frame3.isnull().any())
    print("========================")
    print(frame3.isnull().T.any())

在这里插入图片描述

在这里插入图片描述

可见:

**

非转置:frame3.isnull().any(),得到的每一列求any()计算的结果,输出为列的Series。**

**

转置:frame3.isnull().T.any(),得到的每一行求any()计算的结果,输出为行的Series。



**



版权声明:本文为weixin_45342712原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。