2014-01-14 72 views
1

我想創建一個熊貓系列對象與時間戳字段start如何在Pandas.Series中添加時間戳?

a = pd.Series(index=['preceding_id', 'file', 'start'], dtype=[np.int, np.str, np.datetime64],) 

失敗了

TypeError: data type not understood 

有人可以解釋我什麼,我做錯了什麼?
我一直在熊貓尋找日期和日期時間對象,但文檔只說如何使用它作爲索引 - 這不是我想要的...

謝謝!

回答

4

A系列只能有一種數據類型。如果你想在一個系列中存儲多種類型,系列的類型將是object,即通用Python類型。

In [12]: Series([1, 'some string', pd.to_datetime('2014-01-01')]) 
Out[12]: 
0      1 
1   some string 
2 2014-01-01 00:00:00 
dtype: object 

這是沒有問題的。組成元素的類型被保留。例如,上面的系列中的時間戳仍然是一個時間戳,正如我們通過訪問它可以看到的。

In [13]: Series([1, 'some string', pd.to_datetime('2014-01-01')])[2] 
Out[13]: Timestamp('2014-01-01 00:00:00', tz=None) 

因此,總之,不要指定數據類型。一般來說,沒有你的幫助,他們會得到妥善處理。

0

你確定你不想要數據框嗎?

如果是這樣,它看起來是這樣的:

或者,如果你是在從文件或東西讀取數據,你可以很容易地使用parse_dates=True大多數大熊貓的I/O功能。實際上,熊貓分配正確的dtype本質上是非常棒的。

+0

是的 - 最終我想要一個DataFrame。我想過有一個像電子表格/數據框一樣的東西,然後在給定的事件上添加一行/系列。由於我沒有設法使單行工作,我沒有嘗試DataFrame。 – asPlankBridge