2015-11-01 89 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