我有一个 2 亿条记录文件,正在使用 pandas read_csv 以 10000 的块大小读取该文件。这些数据帧被转换为列表对象,并且该列表对象被传递给函数。file_name=str(sys.argv[2])df=pd.read_csv(file_name, na_filter=False, chunksize=10000)for data in df: d=data.values.tolist() load_data(d)有没有什么方法可以并行运行load_data函数调用,以便可以同时将10000条以上的记录传递给该函数?
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
是的,dask 很擅长这个
尝试
import dask.dataframe as dd
dx = dd.read_csv(file_name, na_filter=False)
ans_delayed = dx.apply(my_function, meta='{the return type}')
ans = ans_delayed.compute()
如果您确实需要将数据作为列表,您可以尝试
import dask.bag as db
genrator = pd.read_csv(file_name, na_filter=False, chunksize=10000)
ans = db.from_sequence(generator).map(lambda df:
load_data(df.values.tolist())).compute()
添加回答
举报
0/150
提交
取消