为 40 个数据帧加速 pandas concat 函数,每个数据帧有 100 万行和 100 列
Posted
技术标签:
【中文标题】为 40 个数据帧加速 pandas concat 函数,每个数据帧有 100 万行和 100 列【英文标题】:speed up pandas concat function for 40 data frames each having 1 million rows and 100 columns 【发布时间】:2020-02-21 19:20:50 【问题描述】:我想为大数据帧加速 pandas concat()
函数。
我有 40 个数据帧,每个数据帧有 100 万行和 100 列(列可以是任何东西:布尔值、字符串、整数等)。我们已经尝试在集群上运行它,使用dask
等。结果还没有到来!
任何想法都将受到高度赞赏。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于为 40 个数据帧加速 pandas concat 函数,每个数据帧有 100 万行和 100 列的主要内容,如果未能解决你的问题,请参考以下文章
`pd.concat` 与 `join=='inner'` 不会产生 pandas 数据帧的交集
为具有大量字符串的数据帧加速 PyArrow Parquet 到 Pandas