datetimeindex.floor删除HH:MM:SS信息

时间:2019-03-14 10:16:02

标签: python pandas

当我对以下两个数据集执行df.index.floor('12H')时,我得到了不同的输出格式。

                     dummy
2015-01-04 00:00:00      1
2015-01-04 02:00:00      1
            dummy
2015-01-04      1
2015-01-04      1
                     dummy
2015-01-04 00:00:00      1
2015-01-04 12:00:00      1
2015-01-04 02:00:00      1
2015-01-04 13:00:00      1
2015-01-04 22:00:00      1
                     dummy
2015-01-04 00:00:00      1
2015-01-04 12:00:00      1
2015-01-04 00:00:00      1
2015-01-04 12:00:00      1
2015-01-04 12:00:00      1

如何为第一个日期集保留长时间格式“ YYYY-MM-DD HH:MM:SS”,以便我可以将此表与其他表进一步合并。

这就是我想要的:

                     dummy
2015-01-04 00:00:00      1
2015-01-04 02:00:00      1
                     dummy
2015-01-04 00:00:00      1
2015-01-04 00:00:00      1

1 个答案:

答案 0 :(得分:2)

别担心,格式相同,只有00:00:00仅在DatetimeIndex中不显示,请通过转换为list进行检查。

因此,因为接下来使用相同的格式可以正常工作。

print (df)
            dummy
2015-01-04      1
2015-01-04      1

print (df.index.tolist())
[Timestamp('2015-01-04 00:00:00'), Timestamp('2015-01-04 00:00:00')]

您可以通过转换为00:00:00来显示strings,但随后丢失DatetimeIndex,因此不建议:

df.index = df.index.strftime('%Y-%m-%d %H:%M:%S')

print (df)
                     dummy
2015-01-04 00:00:00      1
2015-01-04 00:00:00      1

print (df.index)
Index(['2015-01-04 00:00:00', '2015-01-04 00:00:00'], dtype='object')

print (df.index.tolist())
['2015-01-04 00:00:00', '2015-01-04 00:00:00']