Skip to main content
 首页 » 编程设计

Python 将大型 numpy 数组转换为 pandas 数据框

2025年05月04日26lonelyxmas

我收到了一大段代码,这些代码仅适用于 pandas 数据帧作为输入。我目前有一个相当大的 numpy 数组。我需要将其转换为 Pandas 数据框。

Dataframe 将有 288 行(289 列名称)和 1801 列。我有一个大小为 1801 的数组,它将是数据框中的所有列名。然后我有一个大小为 (288) 的数组,它将填充第一列。然后我有一个形状数组 (1800, 288) 将填充 2-1801 列。有没有一种简单的方法可以将其转换为数据框而无需单独定义所有 1801 列?

我知道我可以定义像 column2=array[0,:], column3=array[1,:] 这样的列,但是对于 1801 列这将是很多工作。

请您参考如下方法:

您可以将 numpy 数组直接传递给 DataFrame 构造函数:

In [11]: a = np.random.rand(3, 5) 
 
In [12]: a 
Out[12]: 
array([[ 0.46154984,  0.08813473,  0.57746049,  0.42924157,  0.34689139], 
       [ 0.29731858,  0.83300176,  0.15884604,  0.44753895,  0.56840054], 
       [ 0.02479636,  0.76544594,  0.24388046,  0.06679485,  0.94890838]]) 
 
In [13]: pd.DataFrame(a) 
Out[13]: 
          0         1         2         3         4 
0  0.461550  0.088135  0.577460  0.429242  0.346891 
1  0.297319  0.833002  0.158846  0.447539  0.568401 
2  0.024796  0.765446  0.243880  0.066795  0.948908 
 
In [14]: pd.DataFrame(a.T) 
Out[14]: 
          0         1         2 
0  0.461550  0.297319  0.024796 
1  0.088135  0.833002  0.765446 
2  0.577460  0.158846  0.243880 
3  0.429242  0.447539  0.066795 
4  0.346891  0.568401  0.948908