我有两个dfs。一个有DatetimeIndex,另一个有TimedeltaIndex。
DatetimeIndex(['2017-12-11 09:00:00', '2017-12-11 09:01:00',
...
'2017-12-11 14:59:00', '2017-12-11 15:00:00'],
dtype='datetime64[ns]', length=361, freq='T')
TimedeltaIndex(['09:00:00', '09:01:00', '09:02:00', '09:03:00', '09:04:00',
...
'14:55:00', '14:56:00', '14:57:00', '14:58:00', '14:59:00'],
dtype='timedelta64[ns]', name='ts', length=300, freq=None)
我正在尝试连接它们
pd.concat([d1, d2], axis=1)
但它会抛出
'Index' object has no attribute 'freq'
大概是因为索引时间不同。我试图通过使用d1.index.appy或to_timedelta来更改索引,但这失败了,因为我无法在索引上使用apply并使用pd.to_timedelta throws
Argument 'values' has incorrect type (expected numpy.ndarray, got Index)
我必须有一些直截了当的方式。任何建议我如何轻松地做到这一点。我不需要日期信息,因此任何解决方案都可能会丢失。
答案 0 :(得分:1)
我认为您可以to_timedelta
使用strftime
:
d1.index = pd.to_timedelta(d1.index.strftime('%H:%M:%S'))
或者:
d1 = d1.set_index(pd.to_timedelta(d1.index.strftime('%H:%M:%S')))