为什么同样的条件用 Series 是 True 而直接用 Series 的同一个元素是 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
最佳答案
因为:
df['date']
是dtype
datatime64[ns]
的pandas.Series
df['date'] == '2013-11'
是对pandas.Series.__eq__
的调用,Pandas 在写入时可以做任何它想做的事情方法。
Pandas 所做的是帮助您意识到您正在将字符串与 dtype
datetime
的 series
进行比较。所以它试图将字符串解析为有用的东西,然后进行比较。这是 Pandas 提供的增值服务的一部分。
关于python - 相同条件日期 True with Series 但 False using element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52841389/