如何在Pandas中使用多重处理?

2024-04-23 23:58:06 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在普通程序中使用多处理时,它在pandas中工作得很好,但是当我使用这个多处理时,时间并没有减少。你知道吗

我尝试使用多处理的普通代码

import multiprocessing
import time
import pandas as pd
start=time.time()

def square(df1):
    df1['M_threading'] = df1['M_Invoice_type']
def multiply(df4):
    df4['M_threading'] = df4['M_Invoice_type']

if __name__ == '__main__':
    df = pd.read_excel("filename.xlsx")
    df1 = df.loc[df['M_Invoice_type'] == 'B2B']
    df4 = df.loc[df['M_Invoice_type'] == 'B2BUR']
    p=multiprocessing.Process(target=square,args=(df1,))
    p1 = multiprocessing.Process(target=multiply, args=(df4,))
    p.start()
    p1.start()
    p.join()
    p1.join()
    print("Done")
    end=time.time()
    print(end-start)

我期望代码的输出时间是25秒,但实际输出时间是51秒。你知道吗


Tags: 代码importpandasdftimedeftype时间
1条回答
网友
1楼 · 发布于 2024-04-23 23:58:06

尝试使用创建的两个新数据帧调用multiprocessing.Process。你知道吗

p = multiprocessing.Process(target=square,args=(df1,))
p1 = multiprocessing.Process(target=multiply, args=(df4,))

相关问题 更多 >