Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将多个掩码同时应用于数据帧?_Python_Pandas - Fatal编程技术网

Python 如何将多个掩码同时应用于数据帧?

Python 如何将多个掩码同时应用于数据帧?,python,pandas,Python,Pandas,我已经为我的df设置了三个掩码,我想过滤掉这些值 例如,一些随机遮罩: mask1 = df['column1'].isnull() mask2 = df['column2'] > 5 mask3 = df['column3'].str.contains('hello') 现在,如何组合这些遮罩以过滤出这些值? 这是正确的方法吗?同时使用~和| masked_df = df[~mask1 | ~mask2 | ~mask3] 我的数据框中有这么多行,我无法100%确定手动检查是否正确

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

例如,一些随机遮罩:

mask1 = df['column1'].isnull()
mask2 = df['column2'] > 5
mask3 = df['column3'].str.contains('hello')
现在,如何组合这些遮罩以过滤出这些值? 这是正确的方法吗?同时使用
~
|

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

我的数据框中有这么多行,我无法100%确定手动检查是否正确

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

masked_df = df[~(mask1 & mask2 & mask3)]
若遮罩在列表中,则上述解决方案将重写为:


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

masked_df = df[~(mask1 & mask2 & mask3)]
若遮罩在列表中,则上述解决方案将重写为:


我觉得不错。但是为什么不将条件翻转为
df['column1'].notnull()
mask2=df['column2']<5
?因为我的大脑不是那样工作的:)。我想创建像
mask1=我不想要这样的遮罩。
mask2=我不想要那样的遮罩
等等。这取决于你是想过滤掉填充所有条件的行,然后你是对的,还是想过滤掉填充任何条件的行,在这种情况下,你应该使用
&
而不是
|
看起来不错。但是为什么不将条件翻转为
df['column1'].notnull()
mask2=df['column2']<5
?因为我的大脑不是那样工作的:)。我想创建像
mask1=我不想要这样的遮罩。
mask2=我不想要那样的遮罩
等等。这取决于你是想过滤掉填充所有条件的行,然后你是对的,还是想过滤掉填充任何条件的行,在这种情况下,您应该使用
&
而不是
|