我有这个python
list
,需要将其转换为pandas
dataframe
。
这是我的列表的样子:
thisdict = {}
thisdict["Column1"] = 1
thisdict["Column2"] = 2
thisdict # this print
{'Column1': 1, 'Column2': 2}
我需要将其转换为pandas
数据帧。
我尝试过:
df = pd.DataFrame(thisdict)
我得到如下错误:
ValueError:如果使用所有标量值,则必须传递索引
有人可以帮我吗?
答案 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)
选项2
thisdict = {}
thisdict["Column1"] = [1]
thisdict["Column2"] = [2]
print(thisdict)
print("Below is Option2:")
df = pd.DataFrame(thisdict)
display(df)