gpt4 book ai didi

python - 如何使用循环或并行计算将大数据输入python pandas?

转载 作者:太空狗 更新时间:2023-10-29 17:42:09 25 4
gpt4 key购买 nike

我有一个 8gb 的 csv 文件,我无法运行代码,因为它显示内存错误。

file = "./data.csv"
df = pd.read_csv(file, sep="/", header=0, dtype=str)

我想使用 python 将文件拆分为 8 个小文件(“按 id 排序”)。最后,有一个循环,以便输出文件将具有所有 8 个文件的输出。

或者我想尝试并行计算。主要目标是在 python pandas 中处理 8gb 数据。谢谢。

我的 csv 文件包含大量以“/”作为逗号分隔符的数据,

id    venue           time             code    value ......
AAA Paris 28/05/2016 09:10 PAR 45 ......
111 Budapest 14/08/2016 19:00 BUD 62 ......
AAA Tokyo 05/11/2016 23:20 TYO 56 ......
111 LA 12/12/2016 05:55 LAX 05 ......
111 New York 08/01/2016 04:25 NYC 14 ......
AAA Sydney 04/05/2016 21:40 SYD 2 ......
ABX HongKong 28/03/2016 17:10 HKG 5 ......
ABX London 25/07/2016 13:02 LON 22 ......
AAA Dubai 01/04/2016 18:45 DXB 19 ......
.
.
.
.

最佳答案

import numpy as np
from multiprocessing import Pool

def processor(df):

# Some work

df.sort_values('id', inplace=True)
return df

size = 8
df_split = np.array_split(df, size)

cores = 8
pool = Pool(cores)
for n, frame in enumerate(pool.imap(processor, df_split), start=1):
frame.to_csv('{}'.format(n))
pool.close()
pool.join()

关于python - 如何使用循环或并行计算将大数据输入python pandas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44946141/

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