出现这个问题通常是由于比较列和字符串时没有采用正确的语法。
如果你要比较一个列的值是否与一个字符串相同,那么你需要在列名前面加上“df”(代表你的dataframe):
import pandas as pd
df = pd.DataFrame({'column': ['foo', 'bar', 'baz']})
# 错误的语法
print(df['column'] == 'foo') # 输出False, False, False
# 正确的语法
print(df.column == 'foo') # 输出True, False, False
如果你想在两列之间进行比较,请确保它们都有相同的数据类型,并且您在使用关键字“and”和“or”时使用括号:
import pandas as pd
df = pd.DataFrame({'column1': [1, 2, 3], 'column2': [1, 4, 3]})
# 错误的语法
print(df.column1 == df.column2 and df.column1 == 1) # 输出ValueError
# 正确的语法
print((df.column1 == df.column2) & (df.column1 == 1)) # 输出True, False, False