我应该使用哪个索引将numpy数组转换为pandas数据帧?

3

我想把一个简单的numpy数组转换成pandas数据框。

x是我的数组,nam是列名称的列表。

x = np.array([2,3,1,0])
nam = ['col1', 'col2', 'col3', 'col4']

我使用pd.DataFramex转换
y = pd.DataFrame(x, columns=nam)

但是我遇到了这个错误信息:

ValueError: 传递的值的形状为(1, 4),索引表明为(4, 4)

我试图调整索引参数,但是找不到解决方案。

我希望我的数据框看起来像这样:

col1   col2   col3   col4
   2      3      1      0
2个回答

7

使用[]的另一种更简单的解决方案:

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

4

您需要重新塑造您的输入数组:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接