我有一個(gè) 2 億條記錄文件,正在使用 pandas read_csv 以 10000 的塊大小讀取該文件。這些數(shù)據(jù)幀被轉(zhuǎn)換為列表對(duì)象,并且該列表對(duì)象被傳遞給函數(shù)。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)有沒有什么方法可以并行運(yùn)行l(wèi)oad_data函數(shù)調(diào)用,以便可以同時(shí)將10000條以上的記錄傳遞給該函數(shù)?
1 回答

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
是的,dask 很擅長這個(gè)
嘗試
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()
如果您確實(shí)需要將數(shù)據(jù)作為列表,您可以嘗試
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()
添加回答
舉報(bào)
0/150
提交
取消