如何在python中将python列表转换为pandas Dataframe

时间:2020-07-09 20:09:22

标签: python pandas dataframe

我有这个python list,需要将其转换为pandas dataframe

这是我的列表的样子:

thisdict = {}

thisdict["Column1"] = 1
thisdict["Column2"] = 2

thisdict # this print

{'Column1': 1, 'Column2': 2}

我需要将其转换为pandas数据帧。

我尝试过:

df = pd.DataFrame(thisdict)

我得到如下错误:

ValueError:如果使用所有标量值,则必须传递索引

有人可以帮我吗?

4 个答案:

答案 0 :(得分:1)

您应该将该列分配为代码中的列表。

尝试将第2行和第3行替换为:

thisdict["Column1"] = [1]
thisdict["Column2"] = [2]

完整代码:

thisdict = {}
thisdict["Column1"] = [1]
thisdict["Column2"] = [2]
df = pd.DataFrame(thisdict)

输出:

    Column1 Column2
0         1       2

答案 1 :(得分:1)

如果由于某种原因您不想将列设为列表,则可以这样做。

df = pd.DataFrame(pd.Series(thisdict)).transpose()

答案 2 :(得分:1)

如果您的字典要移至数据框的一行,则需要传递包含单个元素的列表。

pd.DataFrame(thisdict, index=[0])

输出:

   Column1  Column2
0        1        2

答案 3 :(得分:1)

从您的问题中不清楚您想要什么,但是这里有一些选择。我认为您可能想要第二个选择。为此,请确保在构建字典时使用列表。

选项1

thisdict = {}
thisdict["Column1"] = 1
thisdict["Column2"] = 2
print(thisdict)

print("Below is Option1:")
df = pd.DataFrame(list(thisdict.items()),columns = ['ColumnA','ColumnB'])
display(df)

enter image description here

选项2

thisdict = {}
thisdict["Column1"] = [1]
thisdict["Column2"] = [2]
print(thisdict)

print("Below is Option2:")
df = pd.DataFrame(thisdict)
display(df)

enter image description here