gpt4 book ai didi

python - pandas - 按列名屏蔽数据框

转载 作者:太空宇宙 更新时间:2023-11-04 07:36:30 25 4
gpt4 key购买 nike

从这个简单的数据框 df 开始:

col1,col2
1,3
2,1
3,8

我想在列名函数中应用一个 bool 值掩码。我知道值(value)观很容易:

mask = df <= 1

df = df[mask]

返回:

面具:

    col1   col2
0 True False
1 False True
2 False False

df:

   col1  col2
0 1 NaN
1 NaN 1
2 NaN NaN

如预期。现在我想根据列名获取一个 bool 掩码,例如:

mask = df == df['col_1']

应该返回:

面具

    col1   col2
0 True False
1 True False
2 True False

编辑:

这看起来很奇怪,但我需要那种掩码以便稍后按列 seaborn 热图进行过滤。

最佳答案

正如评论中所指出的,您需要获得像这样的“面具”的情况似乎很少见(很可能,您不在其中之一)。因此,Pandas 中可能没有适合它们的“内置”解决方案。

尽管如此,您还是可以实现所需的,例如使用如下 hack:

mask = (df == df) & (df.columns == 'col_1')

更新:。如评论中所述,如果您的数据框包含空值,则以这种方式计算的掩码在相应位置将始终为 False。如果这是一个问题,更安全的选择是:

mask = ((df == df) | df.isnull()) & (df.columns == 'col_1')

关于python - pandas - 按列名屏蔽数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34064948/

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