这可能是一个简单的问题,但我不知道该怎么做。假设有两个变量。
a = 2
b = 3
我想从这个构建一个数据框架:
df2 = pd.DataFrame({'A':a,'B':b})
这会产生一个错误:
ValueError:如果使用所有标量值,则必须传递一个索引
我也试过这个:
df2 = (pd.DataFrame({'a':a,'b':b})).reset_index()
这将给出相同的错误消息。
这可能是一个简单的问题,但我不知道该怎么做。假设有两个变量。
a = 2
b = 3
我想从这个构建一个数据框架:
df2 = pd.DataFrame({'A':a,'B':b})
这会产生一个错误:
ValueError:如果使用所有标量值,则必须传递一个索引
我也试过这个:
df2 = (pd.DataFrame({'a':a,'b':b})).reset_index()
这将给出相同的错误消息。
当前回答
你可以试试:
df2 = pd.DataFrame.from_dict({'a':a,'b':b}, orient = 'index')
来自'orient'参数的文档:如果传递的dict的键应该是结果DataFrame的列,则传递' columns '(默认)。否则,如果键应该是行,则传递' index '。
其他回答
你可以试试这个: df2 = pd.DataFrame.from_dict ({a: a、b: b},东方=“指数”)
也许Series会提供你需要的所有函数:
pd.Series({'A':a,'B':b})
DataFrame可以被认为是一个系列的集合,因此你可以:
将多个Series连接到一个数据帧中(如此处所述) 向现有数据帧中添加一个Series变量(示例如下)
如果你有一个字典,你可以用下面这行代码把它转换成pandas数据帧:
pd.DataFrame({"key": d.keys(), "value": d.values()})
你可以试试:
df2 = pd.DataFrame.from_dict({'a':a,'b':b}, orient = 'index')
来自'orient'参数的文档:如果传递的dict的键应该是结果DataFrame的列,则传递' columns '(默认)。否则,如果键应该是行,则传递' index '。
我对numpy数组也有同样的问题,解决方案是将它们压平:
data = {
'b': array1.flatten(),
'a': array2.flatten(),
}
df = pd.DataFrame(data)