相对于in成员运算符,我发现熊猫的行为举止异常。
import pandas
df = pandas.DataFrame([{'a':1},{'a':2}])
# output: False
2 in df['a']
# output: True
1 in df['a']
第二个参数为true的原因是,成员资格运算符似乎正在检查列的索引。不是我指定的实际列。
此答案似乎包含获取信息的正确方法
Select rows from a DataFrame based on values in a column in pandas
我可以执行以下操作,以获取所需的信息
any(temp2['a'] == 2)
但是为什么使用“ in”运算符来引用索引的行为呢?使用“ in”运算符获取数据对我来说更有意义。
我了解可以通过多种方式获得答案。我更关心为什么这是选择的行为
注意:这是使用python v3.6.6和pandas v0.23.3