日期条件相同,系列为True,元素为False

时间:2018-10-16 17:57:15

标签: python python-3.x pandas datetime series

为什么相同的条件对于系列为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

1 个答案:

答案 0 :(得分:2)

因为:

  1. df['date']pandas.Series dtype的{​​{1}}
  2. datatime64[ns]是对df['date'] == '2013-11'的调用,Pandas在编写该方法时可以做任何想要的事情。

Pandas所做的事情应该通过了解您正在将字符串与pandas.Series.__eq__ series的{​​{1}}进行比较来为您提供帮助。因此,它尝试将字符串解析为有用的内容,然后进行比较。这是熊猫提供的增值服务的一部分。