我已经从文件中读取了一个熊猫数据框:
df = pd.read_csv('data_here.csv')
当我尝试时,"str2try" in df['col2search']它会返回False,但是当我尝试时"str2try" in df['col2search'].values,它会返回True(这就是我在这种情况下的预期)。
"str2try" in df['col2search']
False
"str2try" in df['col2search'].values
True
我不明白为什么会有行为上的差异。我读到.values返回列的Numpy表示形式,但是为什么"str2try" in <NDFrame representation of column>返回False?
.values
"str2try" in <NDFrame representation of column>
谢谢!
熊猫系列就像字典。in 搜索其索引(或键),然后"str2try" in df['col2search'] 检查字符串是否在该Series的 索引 中:
in
df = pd.DataFrame({'A': [1, 2, 3]}, index=['x', 'y', 'z']) df Out: A x 1 y 2 z 3 'x' in df['A'] Out: True 2 in df['A'] Out: False 'x' in df['A'].values Out: False 2 in df['A'].values Out: True
它在字典中的行为如下:
d = {'x': 1, 'y': 2, 'z': 3} 'x' in d Out: True 2 in d Out: False 2 in d.values() Out: True