【发布时间】:2021-04-23 14:26:31
【问题描述】:
在下面的代码中,在 A 列下,foo 和 tog 在 B 列中只有缺失值。但是,我不能简单地使用 is_na() 过滤所有缺失值,因为有一个 bar 有缺失值.
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
'tog', 'bar', 'bar'],
'B' : [np.nan, 2, np.nan, 4, np.nan, 6, np.nan],
'C' : [2.0, 5., 8., 1., 2., 9., 3.]})
我已尝试使用 df.groupby('A').filter(df['B'] == 'NaN'),但返回错误:
“系列”对象不可调用。
如何过滤或选择 foo 和 tog?非常感谢!
编辑:我正在清理一个包含一些缺失值但分布在很多行中的数据集。因此,我不能简单地选择与 A 列对应的命名元素(例如 foo 和 tog)。
换句话说,我需要以下内容
A B C
1 bar 2.0 5.0
3 bar 4.0 1.0
5 bar 6.0 9.0
6 bar NaN 3.0
【问题讨论】:
-
df[df['A'].isin(['foo', 'tog'])]? -
这个问题的预期输出是什么?
-
df[df.B.isna()]?? df[df.B.notna()]??
标签: python pandas missing-data