假设我有两个系列: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.
是否可以将熊猫系列存储在熊猫系列中?我该怎么做?谢谢。
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
, 不允许 aSeries
并且同样它不允许字符串 - 尝试设置a['a'] = 'lol'
,您将得到 a ValueError
。
In [21]: a = Series(None, index=['a','b','c'])
In [22]: a.dtype
Out[22]: dtype('float64')
您可以在 docs中阅读有关类型转换的更多信息。