从Numpy数组创建PandasDataFrame:如何指定索引列和列标题?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我有一个Numpy数组,它包含一个列表列表,表示一个具有行标签和列名的二维数组,如下所示:

data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])

我希望得到的DataFrame以Row1和Row2作为索引值,col1、Col2作为标头值。

我可以将索引指定如下:

df = pd.DataFrame(data,index=data[:,0]),

但是,我不确定如何最好地分配列标题。

提问于
用户回答回答于

您需要指定dataindexcolumnsDataFrame构造函数,如:

>>> pd.DataFrame(data=data[1:,1:],    # values
...              index=data[1:,0],    # 1st column as index
...              columns=data[0,1:])  # 1st row as the column names
用户回答回答于

import pandas
import numpy

dtype = [('Col1','int32'), ('Col2','float32'), ('Col3','float32')]
values = numpy.zeros(20, dtype=dtype)
index = ['Row'+str(i) for i in range(1, len(values)+1)]

df = pandas.DataFrame(values, index=index)

扫码关注云+社区