比较pandas数据帧之间不同格式的日期

时间:2016-10-30 20:19:07

标签: date pandas dataframe format

我有两个按日期索引的数据框,我需要比较日期 - 整理出两个数据框不相互的所有日期条目。第一个数据框格式为: 2011-10-31

另一个具有来自pandas / python的日期时间格式,并且当被调用时显示为: 2011-10-31T01:00:00.000000000 + 0100

显然比较两个返回false /不等于。我想最简单的比较方法是减少后一种格式。我该怎么做?

1 个答案:

答案 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)