为什么相同的条件对于系列为True,而直接使用系列的相同元素为False?
import pandas as pd
df = pd.DataFrame({'date': pd.to_datetime('2013-11')},
index=[0])
print(df['date'] == '2013-11')
print('')
print(df.loc[0,'date'] == '2013-11')
我获得:
0 True
Name: date, dtype: bool
False
答案 0 :(得分:2)
因为:
df['date']
是pandas.Series
dtype
的{{1}} datatime64[ns]
是对df['date'] == '2013-11'
的调用,Pandas在编写该方法时可以做任何想要的事情。 Pandas所做的事情应该通过了解您正在将字符串与pandas.Series.__eq__
series
的{{1}}进行比较来为您提供帮助。因此,它尝试将字符串解析为有用的内容,然后进行比较。这是熊猫提供的增值服务的一部分。