Python,Pandas:只返回那些有缺失值的行

Posted

技术标签:

【中文标题】Python,Pandas:只返回那些有缺失值的行【英文标题】:Python, Pandas : Return only those rows which have missing values 【发布时间】:2015-08-07 10:48:51 【问题描述】:

在 Python 中使用 Pandas 时...

我正在处理一个包含一些缺失值的数据集,我想返回一个仅包含那些缺失数据的行的数据框。有什么好办法吗?

(我目前执行此操作的方法是一种低效的“查看没有缺失值的数据框中没有哪些索引,然后从这些索引中创建一个 df。”)

【问题讨论】:

【参考方案1】:

您可以使用anyaxis=1 每行检查至少一个True,然后使用boolean indexing 过滤:

null_data = df[df.isnull().any(axis=1)]

【讨论】:

df.isnull() 在 0.23 之后返回 DataFrame。使用df.isnull().values.any(axis=1) 会快一点。【参考方案2】:
df.isnull().any(axis = 1).sum()

这会为您提供至少有一个缺失数据的总行数

【讨论】:

【参考方案3】:

如果您只想查看包含 NaN 值的行,您可以这样做:

data_frame[data_frame.iloc[:, insert column number here]=='NaN']

【讨论】:

【参考方案4】:

你可以这样使用代码

sum(df.isnull().any(axis=1))

【讨论】:

【参考方案5】:

我刚遇到这个问题,我假设您想查看由我使用的缺失值行组成的数据框部分

df.loc[df.isnull().any(axis=1)]

【讨论】:

【参考方案6】:

如果您正在寻找一种更快的方法来查找数据框中缺失的总行数,您可以使用以下方法:

sum(df.isnull().values.any(axis=1))

【讨论】:

以上是关于Python,Pandas:只返回那些有缺失值的行的主要内容,如果未能解决你的问题,请参考以下文章

pandas使用isna函数和any函数计算返回dataframe中包含缺失值的行索引列表list(index of rows with missing values in dataframe)

比较 PandaS DataFrames 并返回第一个缺失的行

python pandas中describe()各项含义及求值

pandas数据分析-处理填充缺失数据

pandas统计dataframe中包含缺失值的行的个数(counting number of rows with missing values in dataframe)

选择不包含任何负值或缺失值的行