ValueError:传递了 2 列,传递的数据有 1 列

新手上路,请多包涵

我有一个这样的组织名称列表:

 name = ['ALPHABET INC', 'AMAZON COM INC', 'APPLE INC',....]

和另一个像这样的 cu 值列表:

 cu = ['02079K305', '023135106', '037833100',....]

当我试图将它转换为数据框时,它给我错误消息,“ValueError:2 列已传递,传递的数据有 1 列”

我将列表转换为数据框的代码:

 df = pd.DataFrame([name, cu], columns=['name of issuer', 'cusip'])

我哪里错了?提前致谢!

原文由 Ishan Pradhan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 387
2 个回答

我认为最简单的是创建字典:

 df = pd.DataFrame({'name of issuer': name, 'cusip':cu})

您的解决方案可以使用 zip ,在最后一个版本的熊猫中应该省略 list

 df = pd.DataFrame(list(zip(name, cu)), columns=['name of issuer', 'cusip'])

 print (df)
   name of issuer      cusip
0    ALPHABET INC  02079K305
1  AMAZON COM INC  023135106
2       APPLE INC  037833100

原文由 jezrael 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 zip

 pd.DataFrame(zip(name, cu), columns=['name of issuer', 'cusip'])

前任:

 >>> df = pd.DataFrame(zip(name, cu), columns=['name of issuer', 'cusip'])
>>> df
   name of issuer      cusip
0    ALPHABET INC  02079K305
1  AMAZON COM INC  023135106
2       APPLE INC  037833100

原文由 Dishin H Goyani 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题