说我有两个系列:a和b,
a = Series(None, index=['a','b','c'])
b = Series('lol', index=['j','k','l'])
我想将b存储为a的一个元素,
a['a'] = b
但我得到
ValueError: setting an array element with a sequence.
是否可以将熊猫系列存放在熊猫系列中?我该怎么做?感谢。
答案 0 :(得分:5)
您可以使用方法astype
重新制作dtype
:
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
,不允许使用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。