【问题标题】:Python convert large numpy array to pandas dataframePython将大型numpy数组转换为pandas数据框
【发布时间】:2017-06-28 04:03:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: python arrays pandas numpy dataframe


    【解决方案1】:

    您可以将一个 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
    

    【讨论】:

      猜你喜欢
      • 2020-06-20
      • 1970-01-01
      • 2022-01-12
      • 2014-03-23
      • 2018-11-08
      • 2015-12-04
      • 2021-10-29
      相关资源
      最近更新 更多