从两个列表创建数据框时值过多无法解包
我有两个列表,c
和p
,它们各自都有35300个元素。当我尝试创建一个pandas数据框的时候,运行代码时出现了错误信息。我该怎么解决这个问题呢?
import pandas as pd
e=pd.DataFrame.from_items(['Company',c],['ID',p])
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-284-89427a7d8af3> in <module>()
1 import pandas as pd
2
----> 3 e=pd.DataFrame.from_items(['Company',c],['ID',p])
C:\Users\toshiba\Anaconda\lib\site-packages\pandas\core\frame.pyc in from_items(cls, items, columns, orient)
1195 frame : DataFrame
1196 """
-> 1197 keys, values = zip(*items)
1198
1199 if orient == 'columns':
ValueError: too many values to unpack
1 个回答
2
因为 c
和 p
是列表,所以听起来你想创建一个有两列的表格,分别是 公司
和 编号
:
e = pd.DataFrame({'Company':c, 'ID':p})
正如 behzad.nouri 提到的,
e = pd.DataFrame.from_items([('Company',c), ('ID',p)])
这种方法也可以用,而且和我之前的建议不同,它能确保列的顺序是正确的。