这可能是一个简单的问题,但我不知道该怎么做。假设有两个变量。

a = 2
b = 3

我想从这个构建一个数据框架:

df2 = pd.DataFrame({'A':a,'B':b})

这会产生一个错误:

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

我也试过这个:

df2 = (pd.DataFrame({'a':a,'b':b})).reset_index()

这将给出相同的错误消息。


当前回答

你需要提供可迭代对象作为Pandas DataFrame列的值:

df2 = pd.DataFrame({'A':[a],'B':[b]})

其他回答

这是因为DataFrame有两个直观的维度——列和行。

您只是使用字典键指定列。

如果您只想指定一维数据,请使用Series!

你需要提供可迭代对象作为Pandas DataFrame列的值:

df2 = pd.DataFrame({'A':[a],'B':[b]})

只要把字典放在一个列表上:

a = 2
b = 3
df2 = pd.DataFrame([{'A':a,'B':b}])

你可以试试这个: df2 = pd.DataFrame.from_dict ({a: a、b: b},东方=“指数”)

如果你有一个字典,你可以用下面这行代码把它转换成pandas数据帧:

pd.DataFrame({"key": d.keys(), "value": d.values()})