Python 用列表填充熊猫系列

Python 用列表填充熊猫系列,python,pandas,list,Python,Pandas,List,我想用列表填充pd.Series() 我试着做了以下几点: series=pd.series(索引=['a','b','c','d']) 系列['a']=2 系列['b']=[2,3] 这就是我得到的错误。如何在pd.Series中填充列表 setitem中的文件“C:\Users\Sergej Shteriev\Anaconda3\lib\site packages\pandas\core\internals.py”,第940行 值[索引器]=值 ValueError:使用序列设置数组元素。

我想用
列表填充
pd.Series()

我试着做了以下几点:

series=pd.series(索引=['a','b','c','d'])
系列['a']=2
系列['b']=[2,3]
这就是我得到的错误。如何在
pd.Series
中填充
列表

setitem中的文件“C:\Users\Sergej Shteriev\Anaconda3\lib\site packages\pandas\core\internals.py”,第940行 值[索引器]=值 ValueError:使用序列设置数组元素。
这是因为假设初始数据类型为float(因为序列中填充了nan)

由于列表仅受
object
type列的支持,因此在分配之前需要强制转换

series = series.astype(object)
series['b'] = [2, 3]
series

a           2   # this is still a float
b      [2, 3]
c         NaN
d         NaN
dtype: object

series.tolist()
# [2.0, [[2, 3]], nan, nan]

一个更好的建议是在开始时将
series
声明为一个对象,如果这正是您想要填充到其中的内容

series = pd.Series(index=['a','b','c','d'], dtype=object)
series['a'] = 2
series['b'] = [2, 3]

series
a         2
b    [2, 3]
c       NaN
d       NaN
dtype: object

series.tolist()
# [2, [2, 3], nan, nan]

当然,出于性能方面的考虑,我不宽恕这种做法。最好使用python列表——它们通常比对象系列更快。

好吧,我现在明白了。谢谢!
series = pd.Series(index=['a','b','c','d'], dtype=object)
series['a'] = 2
series['b'] = [2, 3]

series
a         2
b    [2, 3]
c       NaN
d       NaN
dtype: object

series.tolist()
# [2, [2, 3], nan, nan]