gpt4 book ai didi

python - 如何同时将多个掩码应用于数据框?

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:53 26 4
gpt4 key购买 nike

我为我的 df 设置了三个掩码,我想过滤掉这些值。

例如,一些随机掩码:

mask1 = df['column1'].isnull()
mask2 = df['column2'] > 5
mask3 = df['column3'].str.contains('hello')

现在如何组合这些掩码来过滤这些值?这是正确的方法吗?同时使用 ~| 吗?

masked_df = df[~mask1 | ~mask2 | ~mask3]

我的数据框中有太多行,以至于我无法通过手动检查来 100% 确定它是否正确。

最佳答案

您的解决方案很好,但也可以使用按位 AND 和反转链接条件:

masked_df = df[~(mask1 & mask2 & mask3)]

如果掩码在列表中,上面的解决方案被重写为 np.logical_and.reduce :

masks = [mask1, mask2, mask3]

m = df[~np.logical_and.reduce(masks)]
print (m)
A column1 column2 column3
2 c 4.0 9 hello
3 d 5.0 4 hello
4 e 5.0 2 hello
5 f 4.0 3 hello

关于python - 如何同时将多个掩码应用于数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199512/

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