gpt4 book ai didi

python - 如何确定 Pandas 列是否包含特定值

转载 作者:IT老高 更新时间:2023-10-28 21:06:59 25 4
gpt4 key购买 nike

我正在尝试确定 Pandas 列中是否存在具有特定值的条目。我试图用 if x in df['id'] 来做到这一点。我认为这是可行的,但当我输入一个我知道不在 df['id'] 中的列 43 中的值时,它仍然返回 True。当我子集到仅包含与缺少的 id df[df['id'] == 43] 匹配的条目的数据框时,显然其中没有条目。如何确定 Pandas 数据框中的列是否包含特定值,为什么我当前的方法不起作用? (仅供引用,当我将 answer 中的实现用于类似问题时,我遇到了同样的问题)。

最佳答案

Series 的

in 检查值是否在索引中:

In [11]: s = pd.Series(list('abc'))

In [12]: s
Out[12]:
0 a
1 b
2 c
dtype: object

In [13]: 1 in s
Out[13]: True

In [14]: 'a' in s
Out[14]: False

一个选项是查看它是否在 unique 中。值(value)观:

In [21]: s.unique()
Out[21]: array(['a', 'b', 'c'], dtype=object)

In [22]: 'a' in s.unique()
Out[22]: True

或python集:

In [23]: set(s)
Out[23]: {'a', 'b', 'c'}

In [24]: 'a' in set(s)
Out[24]: True

正如@DSM 所指出的,直接在值上使用 in 可能更有效(特别是如果您只是为一个值执行此操作):

In [31]: s.values
Out[31]: array(['a', 'b', 'c'], dtype=object)

In [32]: 'a' in s.values
Out[32]: True

关于python - 如何确定 Pandas 列是否包含特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319929/

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