首页 > 解决方案 > 如何从列表创建 DataFrame,以便列表显示为一列而不是单行?

问题描述

使用 jupyter 笔记本。我从网上抓取了一些我命名为“graphValues”的数据。graphValues 的类型是列表,列表中的值是字符串。我想将graphValues的数据作为一列放在一个名为“data”的新数据框中。当我这样做时,数据框仅包含一个元素,即 graphValues 列表显示为一行,而不是一列:

data=pd.DataFrame([graphValues])
print(data)

输出:

0  [10,0,0,2,0,3,2,4,4,14,11,20,12,18,43,50,20,80...

我尝试的其他方法是将 graphValues 放入字典中,如下所示: 代码:

graphValues2={'Graph Val': graphValues}
data=pd.DataFrame(graphValues2)
print(data)

这给出了一个错误说:

ValueError: If using all scalar values, you must pass an index<br/>
but if I add an index of lenght x, the df will just contain the same list x times (x being the lenght of graphValues of course).

如何获得以下输出?有没有没有for循环的方法?最有效的方法是什么?想要的输出:

0  10
1  0
2  0
3  2
4  0
:  :
:  :

标签: pythonpandas

解决方案


不要使用打印。在没有任何函数的情况下调用变量,如下所示:

data=pd.DataFrame(graphValues.split(','))
data

或者如果上面的代码不起作用,请使用:

data = pd.DataFrame(graphValues)
data

推荐阅读