python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > DataFrame找出有空值的行

DataFrame如何找出有空值的行

作者:大地之灯

这篇文章主要介绍了DataFrame如何找出有空值的行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

DataFrame找出有空值的行

import pandas as pdimport 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)
frame3
column1column2column3column4
index10.01.02.03.0
index24.05.06.07.0
index38.09.010.0NaN
index412.013.014.015.0
index516.017.018.019.0
frame3.isnull()
column1column2column3column4
index1FalseFalseFalseFalse
index2FalseFalseFalseFalse
index3FalseFalseFalseTrue
index4FalseFalseFalseFalse
index5FalseFalseFalseFalse
# any() 作用:返回是否至少一个元素为真
# 直接求any(),得到的每一列求any()计算的结果
frame3.isnull().any()
column1    False
column2    False
column3    False
column4     True
dtype: bool

判断有空值的行

# 方法一:设置any的axis参数
frame3.isnull().any(axis = 1)
index1    False
index2    False
index3     True
index4    False
index5    False
dtype: bool
# 方法二:先转置再any
frame3.isnull().T.any()
index1    False
index2    False
index3     True
index4    False
index5    False
dtype: bool

应用:取非空值的行

frame3[frame3.isnull().any(axis = 1)==False]
column1column2column3column4
index10.01.02.03.0
index24.05.06.07.0
index412.013.014.015.0
index516.017.018.019.0

应用:取有空值的行

frame3[frame3.isnull().any(axis = 1)==True]
column1column2column3column4
index38.09.010.0NaN

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

您可能感兴趣的文章:
阅读全文