https://blog.csdn.net/brucewong0516/article/details/86569707
https://www.jianshu.com/p/2e6d72ae1770
https://zhuanlan.zhihu.com/p/34159519
https://www.jianshu.com/p/05fbcbd75f31
# 多进程共享对象,但好像对进程池无效
import pandas as pd
import numpy as np
from multiprocessing import *
import multiprocessing.sharedctypes as sharedctypes
import ctypes
def add_new_derived_column(ns):
dataframe2 = ns.df
dataframe2['new_column']=dataframe2['A']+dataframe2['B'] / 2
print (dataframe2.head())
ns.df = dataframe2
if __name__ == "__main__":
mgr = Manager()
ns = mgr.Namespace()
dataframe = pd.DataFrame(np.random.randn(100000, 2), columns=['A', 'B'])
ns.df = dataframe
print (dataframe.head())
# then I pass the "shared_df_obj" to Mulitiprocessing.Process object
process=Process(target=add_new_derived_column, args=(ns,))
process.start()
process.join()
print (ns.df.head())