从不同长度
问题描述:
用下面词典的词典创建一个数据框:从不同长度
{'A': [DatetimeIndex([], dtype='datetime64[ns]', name=u'Timestamp', freq=None)],
'B': [DatetimeIndex(['2010-04-15 16:19:00', '2010-04-15 16:20:00',
'2010-04-15 16:23:00'],
dtype='datetime64[ns]', name=u'Timestamp', length=6, freq=None)]}
我想创建以下数据框:
A B
NaN 2010-04-15 16:19:00
NaN 2010-04-15 16:20:00
NaN 2010-04-15 16:23:00
A和B具有不同的DatetimeIndex长度,所以我想用NaN填充较短的一个(本例中为A列)。
感谢您的帮助:)
答
如果你把你的指数纳入Series
对象,标准数据帧的构造可以做你想要什么:
>>> data = {'A': [pd.DatetimeIndex([])],
... 'B': [pd.DatetimeIndex(['2010-04-15 16:19:00',
'2010-04-15 16:20:00',
'2010-04-15 16:23:00'])]}
>>> pd.DataFrame({key: pd.Series(val[0], index=val[0])
for key, val in data.items()})
A B
2010-04-15 16:19:00 NaT 2010-04-15 16:19:00
2010-04-15 16:20:00 NaT 2010-04-15 16:20:00
2010-04-15 16:23:00 NaT 2010-04-15 16:23:00
A和B具有实际上是相同的长度:一一个元素的列表。你是否将DatetimeIndex本身定义为索引中的值? – joris
@joris确实! – Sepehr