【问题标题】:speed up pandas concat function for 40 data frames each having 1 million rows and 100 columns为 40 个数据帧加速 pandas concat 函数,每个数据帧有 100 万行和 100 列
【发布时间】:2020-02-21 19:20:50
【问题描述】:

我想为大数据帧加速 pandas concat() 函数。

我有 40 个数据帧,每个数据帧有 100 万行和 100 列(列可以是任何东西:布尔值、字符串、整数等)。我们已经尝试在集群上运行它,使用dask 等。结果还没有到来!

任何想法都将受到高度赞赏。

【问题讨论】:

    标签: python python-3.x multithreading python-2.7 multiprocessing


    【解决方案1】:

    如果我理解正确,您需要将 40 个形状为 (1M,100) 的数据帧连接成一个 df,从而得到 (40M,100) 形状。

    如果是这种情况,你可以做这样的事情(用 Numpy 编写,但想法是适用的):

    out = np.zeros((4000000, 10))
    row_size = 1000000
    
    for i in range(40):
       out[i * row_size : i * row_size + row_size, :] = datai #ith dataframe
    

    【讨论】:

      猜你喜欢
      • 2021-10-06
      • 2020-12-02
      • 2019-08-23
      • 2019-08-07
      • 2023-03-04
      • 2018-03-09
      • 1970-01-01
      • 2019-05-31
      • 2016-02-28
      相关资源
      最近更新 更多