Pandas数据框传递的值形状为(1, 4),索引意味着为(4, 4)。

22

我试图使用pandas创建一个只有一行的数据框,最终测试了以下简单的代码行:

df = pd.DataFrame([1,2,3,4], columns=['a', 'b', 'v', 'w'])

虽然这似乎非常简单,但我遇到了以下错误

Shape of passed values is (1, 4), indices imply (4, 4)

我在这个问题上看到了一些答案,但它们都提供了一个避开它的方法,而不解释为什么会发生这种情况,并且在我的情况下不适用。

先感谢了。

1个回答

36

你需要将值列表更改为[[1,2,3,4]]

df = pd.DataFrame([[1,2,3,4]], columns=['a', 'b', 'v', 'w'])

3
我简直不敢相信我为了这么简单的事情浪费了这么多时间!非常感谢! - saias
2
我仍然不清楚“为什么会发生这种情况”。我没有这样直接的初始化,但是出现了类似的错误消息。错误消息指的是哪些索引?为什么OP init不会导致1x4 df?既然[1,2,3,4]['a','b','v','w']都不意味着4x4形状,那么为什么需要通过嵌套大括号来强制将其转换为这样的形状呢? - topher217

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接