首页 > 解决方案 > 如何使用 Pandas 构建多核程序?

问题描述

我们希望使用多核并行编程来提高庞大的 Pandas DataFrame 的代码性能。我们想要执行的函数类型有以下几种:单项(如平方函数、对数、倒数、指数)和二进制项(如两个变量的和、两个变量的乘法、两个变量的除法) . 这组函数将应用于原始 DataFrame 中所有可能的变量组合。我们希望在多核范式中执行的功能类型的示例是:

  import pandas as pd

    data1 = pd.read_csv("data1_path.csv")
    data2 = pd.read_csv("data2_path.csv")

    def df_square(DF):
        aux_DF = pd.DataFrame()    
        for i in DF.keys():
            aux_DF[i + str(**2)] = DF[i]*DF[i]
        return aux_DF

    def df_sum(DF1, DF2):
        aux_DF = pd.Data_Frame()
        for i in DF1.keys()
            for j in DF2.keys():
                aux_DF[i + str(+) + j] = DF1[i] + DF2[j]
        return aux_DF

    square = df_square(data1)
    sum = df_sum(data1, data2)

标签: pythonpandasparallel-processing

解决方案


您可能正在寻找一个dask在大多数情况下可以直接替代pandas但可以并行工作的产品。我建议你试一试。

如果您真正想做的是执行一些矩阵运算,那么查看NumPy.


推荐阅读