为什么 Pandas 不允许我加入 datetimeindex?这是一个小代码块,用于产生我遇到的问题。
dti = pd.date_range('2019-01-01','2020-01-01')
df1 = pd.DataFrame({'date':dti})
df2 = pd.DataFrame({'date':dti})
df1.join(df2,on="date")
我尝试先将列转换为 datetime 对象,但仍然没有运气。
dti = pd.date_range('2019-01-01','2020-01-01')
dto = pd.to_datetime(dti)
df1 = pd.DataFrame({'date':dto})
df2 = pd.DataFrame({'date':dto})
df1.join(df2,on="date")
除了以下例外,他们都失败了。
ValueError: You are trying to merge on datetime64[ns] and int64 columns. If you wish to proceed you should use pd.concat
这是一个已知的 Pandas 问题:Bug。在修复之前,不会merge
完成这项工作:
import pandas as pd
dti = pd.date_range('2019-01-01','2020-01-01')
dto = pd.to_datetime(dti)
df1 = pd.DataFrame({'date':dto})
df2 = pd.DataFrame({'date':dto})
df1.merge(df2,on="date", how='inner')
我相信这是 Pandas 中的一个错误。不知何故join
,就好像您的日期之一不是日期数据类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句