gpt4 book ai didi

python - Pandas 中的多处理

转载 作者:行者123 更新时间:2023-11-28 16:24:45 25 4
gpt4 key购买 nike

是否可以对 pandas 数据帧进行分区以进行多处理?

具体来说,我的 DataFrame 太大了,甚至需要几分钟才能在单个处理器上运行一次转换。

我知道,我可以在 Spark 中执行此操作,但已经编写了很多代码,所以我最好坚持使用现有的代码并获得并行功能。

最佳答案

稍微修改https://stackoverflow.com/a/29281494/5351271我可以获得处理行的解决方案。

from multiprocessing import Pool, cpu_count

def applyParallel(dfGrouped, func):
with Pool(cpu_count()) as p:
ret_list = p.map(func, [group for name, group in dfGrouped])
return pandas.concat(ret_list)

def apply_row_foo(input_df):
return input_df.apply((row_foo), axis=1)

n_chunks = 10

grouped = df.groupby(df.index // n_chunks)
applyParallel(grouped, apply_row_foo)

如果索引不仅仅是行号,就按np.arange(len(df))//n_chunks分组

确实不优雅,但在我的用例中有效。

关于python - Pandas 中的多处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37491486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com