Python pandas.DataFrame 找出有空值的行
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) 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。
总结
以上所述是小编给大家介绍的Python pandas.DataFrame 找出有空值的行,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!