2015-11-01 87 views
0

用下面词典的词典创建一个数据框:从不同长度

{'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列)。

感谢您的帮助:)

+0

A和B具有实际上是相同的长度:一一个元素的列表。你是否将DatetimeIndex本身定义为索引中的值? – joris

+0

@joris确实! – Sepehr

回答

1

如果你把你的指数纳入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