我试图确定Pandas列中是否有具有特定值的条目。我试着用df[‘id’]中的x来实现这一点。我认为这是可行的,但当我给它输入一个我知道不在df[‘id’]的43列中的值时,它仍然返回True。当我将一个子集设置为仅包含与缺少的id匹配的条目的数据帧时,df[df['id']==43]显然,其中没有条目。如何确定Pandas数据框中的列是否包含特定值,以及为什么当前方法不起作用?(仅供参考,当我在回答类似问题时使用实现时,我也有同样的问题)
序列的中的检查值是否在索引中:
[11]on
:s=pd.系列(列表('abc'))
At[12]on:s
Output[12]:
0 a
1b
2 c
数据类型:对象
In[13]:1 In s
Out[13]:对
[14]on:s中的“a”
Out[14]:假
一个选项是查看它是否具有唯一值:
[21]on
:s.unique()
Out[21]:数组(['a','b','c'],dtype=object)
[22]on:s.unique()中的“a”
Out[22]:对
或python集:
[23]on
:设置
Out[23]:{'a','b','c'}
[24]on:集合中的“a”
Out[24]:对
正如@DSM所指出的,直接在值上使用in可能更有效(特别是如果您只为一个值执行此操作):
[31]on
:s.values
Out[31]:数组(['a','b','c'],dtype=object)
[32]on:s值中的“a”
Out[32]:对