从两个列表创建数据框时值过多无法解包

1 投票
1 回答
982 浏览
提问于 2025-04-18 01:39

我有两个列表,cp,它们各自都有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

因为 cp 是列表,所以听起来你想创建一个有两列的表格,分别是 公司编号

e = pd.DataFrame({'Company':c, 'ID':p})

正如 behzad.nouri 提到的,

e = pd.DataFrame.from_items([('Company',c), ('ID',p)])

这种方法也可以用,而且和我之前的建议不同,它能确保列的顺序是正确的。

撰写回答