1

a と b の 2 つの系列があるとします。

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

b を a の要素の 1 つとして格納したいのですが、

a['a'] = b

しかし、私は得る

ValueError: setting an array element with a sequence.

pandas シリーズ内に pandas シリーズを格納することはできますか? どうすればいいですか?ありがとう。

4

1 に答える 1

6

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場合)、構築時にaを強制的dtypeにオブジェクトにすることができます。

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

このエラーが発生する理由はfloat64、 が a を許可しSeriesておらず、同様に文字列を許可していないためです。設定しようとするa['a'] = 'lol'と、ValueError.

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

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

docs で型キャストの詳細を読むことができます。

于 2013-01-09T12:58:03.620 に答える