当我在普通程序中使用多处理时,它在熊猫中的工作正常,但是当我使用此多处理时间时,它不会减少。
我使用多处理使用普通代码
尝试了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)
我期望代码25sec的输出时间,但实际输出为51秒。
尝试使用创建的两个新数据框来调用multiprocessing.Process
。
p = multiprocessing.Process(target=square,args=(df1,))
p1 = multiprocessing.Process(target=multiply, args=(df4,))