我有两个按日期索引的数据框,我需要比较日期 - 整理出两个数据框不相互的所有日期条目。第一个数据框格式为: 2011-10-31
另一个具有来自pandas / python的日期时间格式,并且当被调用时显示为: 2011-10-31T01:00:00.000000000 + 0100
显然比较两个返回false /不等于。我想最简单的比较方法是减少后一种格式。我该怎么做?
答案 0 :(得分:1)
使用pandas.to_datetime
进行转换。
df1 = pd.DataFrame({'date':['2011-10-31', '2011-10-31', '2011-10-29'],'val':range(3)}).set_index('date')
df2 = pd.DataFrame({'date':['2011-10-31T01:00:00.000000000+0100',
'2011-10-31T00:00:00.000000000+0000',
'2011-10-29T11:00:00.000000000+0100'],'val':range(3)}).set_index('date')
测试比较:
df1.index==df2.index
# array([False, False, False], dtype=bool)
pd.to_datetime(df1.index)==pd.to_datetime(df2.index)
# array([ True, True, False], dtype=bool)