gpt4 book ai didi

python - 获取一列中所有值均为 nan 的行

转载 作者:行者123 更新时间:2023-12-01 00:18:16 25 4
gpt4 key购买 nike

我想过滤 a 列中所有值均为 nan 的名称

这是我尝试过的

full.groupby('name')['opp'].isna().any(1)

但是这会返回错误消息:

AttributeError: Cannot access callable attribute 'isna' of 'SeriesGroupBy' objects, try using the 'apply' method

这是我的数据示例

name            opp 
f nan
f nan
g f
g nan
g nan
g nan
k nan

期望的输出是

name     opp
f nan
f nan
k nan

最佳答案

使用GroupBy.transformGroupBy.all用于测试每组是否所有 True(所有 NaN 值)并按 boolean indexing 进行过滤:

df = full[full['opp'].isna().groupby(full['name']).transform('all')]

另一种方法是获取所有包含至少一个非缺失值的name,并按 Series.isin 过滤原始名称列。 :

df = full[~full['name'].isin(full.loc[full['opp'].notna(), 'name'])]
<小时/>
print (df)
name opp
0 f NaN
1 f NaN
6 k NaN

关于python - 获取一列中所有值均为 nan 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59138113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com