在Python中使用Pandas时...
我正在使用包含一些缺失值的数据集,并且我想返回一个仅包含缺少数据的行的数据框。有没有一个很好的方法来做到这一点?
(我目前的方法是效率低下&#34;看看数据框中没有缺失值的索引是什么,然后从这些索引中生成一个df。&#34;)< / p>
答案 0 :(得分:63)
您可以使用any
axis=1
检查每行至少一个True
,然后使用boolean indexing进行过滤:
null_data = df[df.isnull().any(axis=1)]
答案 1 :(得分:1)
<a href="https://www.google.com" target="_blank">link</a>
这将为您提供至少一个缺失数据的总行数
答案 2 :(得分:1)
如果您只想查看包含NaN值的行,则可以执行以下操作:
data_frame[data_frame.iloc[:, insert column number here]=='NaN']
答案 3 :(得分:1)
你可以这样使用代码
sum(df.isnull().any(axis=1))
答案 4 :(得分:0)
类似于Meterk的答案,
null_data = df[np.logical_or.reduce(df.isnull(), axis=1)]
测试
n = 2
df = pd.DataFrame({'a':np.tile([0,1,2,3,4,np.nan],n),
'b':np.tile([0,1,2,3,np.nan,5],n)})
x = df[np.logical_or.reduce(df.isnull(),axis=1)]
y = df[df.isnull().any(axis=1)]
x.equals(y)
答案 5 :(得分:0)
我只是遇到了这个问题,我假设您想查看数据框的一部分,该部分由我使用的缺少值的行组成
aws_subnet.public.*.id[0]
答案 6 :(得分:-1)
如果您正在寻找一种更快的方法来查找数据框中缺少的行的总数,则可以使用以下方法:
sum(df.isnull()。values.any(axis = 1))