Python 我应该使用什么索引将numpy数组转换为数据帧?
我正在尝试将一个简单的numpy数组转换为一个数据帧Python 我应该使用什么索引将numpy数组转换为数据帧?,python,arrays,numpy,pandas,dataframe,Python,Arrays,Numpy,Pandas,Dataframe,我正在尝试将一个简单的numpy数组转换为一个数据帧 x是我的数组,nam是列名列表 x = np.array([2,3,1,0]) nam = ['col1', 'col2', 'col3', 'col4'] 我使用pd.DataFrame转换x y = pd.DataFrame(x, columns=nam) 但我有一条错误信息: ValueError:传递值的形状为(1,4),索引暗示(4,4) 我试图调整索引参数,但找不到解决方案 我希望我的数据帧如下所示: col1 col2
x
是我的数组,nam
是列名列表
x = np.array([2,3,1,0])
nam = ['col1', 'col2', 'col3', 'col4']
我使用pd.DataFrame
转换x
y = pd.DataFrame(x, columns=nam)
但我有一条错误信息:
ValueError:传递值的形状为(1,4),索引暗示(4,4)
我试图调整索引参数,但找不到解决方案
我希望我的数据帧如下所示:
col1 col2 col3 col4
2 3 1 0
您应该重新调整输入数组的形状:
In [6]: pd.DataFrame(x.reshape(1,4), columns=nam)
Out[6]:
col1 col2 col3 col4
0 2 3 1 0
或者更灵活一点:
In [11]: pd.DataFrame(x.reshape(len(x) // len(nam), len(nam)), columns=nam)
Out[11]:
col1 col2 col3 col4
0 2 3 1 0
另一个更简单的解决方案是
[]
:
x = np.array([2,3,1,0])
nam = ['col1', 'col2', 'col3', 'col4']
print (pd.DataFrame([x], columns=nam))
col1 col2 col3 col4
0 2 3 1 0