当我在普通程序中使用多重处理时,它在熊猫中工作正常,但是当我使用这种多重处理时,时间却没有减少。
我尝试了使用多处理的普通代码
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秒。
答案 0 :(得分:0)
尝试使用创建的两个新数据帧调用multiprocessing.Process
。
p = multiprocessing.Process(target=square,args=(df1,))
p1 = multiprocessing.Process(target=multiply, args=(df4,))