2013-01-09 24 views
1

說一系列我有兩個系列:a和b,怎麼做了一系列的大熊貓

a = Series(None, index=['a','b','c']) 
b = Series('lol', index=['j','k','l']) 

我想B商店作爲一個要素之一,

a['a'] = b 

但我得到

ValueError: setting an array element with a sequence.

是否有可能存儲內的熊貓系列熊貓系列?我該怎麼做?謝謝。

+0

這不是熊貓的用途。 – eumiro

+0

系列是一維標籤數組(技術上是ndarray的子​​類),能夠存儲任何數據類型(整數,字符串,浮點數,Python對象等)。我認爲這是不可能的。 –

+0

謝謝@ZagorulkinDmitry,但不是熊貓系列的一個python對象嗎?這是我混亂的原因。 – Victor

回答

4

可以重鑄dtype使用方法astype

In [11]: a = a.astype(object) 

In [12]: a['a'] = b 

In [13]: a 
Out[13]: 
a [lol, lol, lol] 
b    NaN 
c    NaN 

或者(使用astype)contructing a時可以強制dtype是對象:

In [14]: a = Series(None, index=['a','b','c'], dtype=object) 

的原因,你得到這個錯誤是因爲float64,不允許Series和類似的,它不允許字符串 - 嘗試設置a['a'] = 'lol',你會得到一個ValueError

In [21]: a = Series(None, index=['a','b','c']) 

In [22]: a.dtype 
Out[22]: dtype('float64') 

你可以閱讀更多關於type-casting in the docs

+0

這很棒。我認爲需要添加官方文檔。 –

+0

@ ZagorulkinDmitry更改爲使用astype並鏈接到文檔:) –

+0

謝謝Hayden!如果我在倫敦,我會給你買一個品脫。 – Victor