gpt4 book ai didi

python - 如何将包含 null 和非 null 的行分成两个不同的 DataFrame?

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

假设我有一个大的 DataFrame(>10000 行),其中一些行包含一个或多个空值。如何从原始 DataFrame 中删除其一列或多列中包含 null 的所有行并将这些行放入另一个 DataFrame 中?

例如:

原始数据框:

         a    b    c
1 "foo" 5 3
2 "bar" 9 1
3 NaN 5 4
4 "foo" NaN 1

非空数据框:

         a    b    c
1 "foo" 5 3
2 "bar" 9 1

包含 DataFrame 为空:

         a    b    c
1 NaN 5 4
2 "foo" NaN 1

最佳答案

使用DataFrame.isna用于检查缺失值:

print (df.isna())
#print (df.isnull())
a b c
1 False False False
2 False False False
3 True False False
4 False True False

并通过 DataFrame.any 测试每行是否至少为 True :

mask = df.isna().any(axis=1)
#oldier pandas versions
mask = df.isnull().any(axis=1)
print (mask)
1 False
2 False
3 True
4 True
dtype: bool

最后一次过滤:boolean indexing - ~ 用于反转 bool 掩码:

df1 = df[~mask]
df2 = df[mask]

print (df1)
a b c
1 foo 5.0 3
2 bar 9.0 1

print (df2)
a b c
3 NaN 5.0 4
4 foo NaN 1

关于python - 如何将包含 null 和非 null 的行分成两个不同的 DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52442499/

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