Python 在数据帧上并行调用函数

Python 在数据帧上并行调用函数,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个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_数据函数调用,以便同

我有一个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_数据函数调用,以便同时将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)
    

    任何帮助都将不胜感激。

    是的,达斯克在这方面非常擅长

    试一试

    如果您确实需要数据作为列表,您可以尝试

    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()
    

    你能用dask比熊猫表现出时间上的进步吗?