Я хотел бы добавить результирующий фрейм данных, т.е. возвращаемый фрейм данных из функции createDF, в full_df (пустой df).
В приведенной ниже функции run_parallel я передаю args = (weight, eduList,), но не могу понять, как извлечь возвращаемое значение из createDF и добавить его в full_df.
import pandas as pd
import numpy as np
import random
# dummy function to create a df
def createDF(weight, eduList):
#initialize list of lists
data = [['kappa', weight*random.randint(5, 10), eduList[0]],
['ombee', weight*random.randint(5, 10), eduList[1]],
['babad', weight*random.randint(4, 10), eduList[2]],
['matth', weight*random.randint(4, 9), eduList[3]],
['allis', weight*random.randint(4, 9), eduList[4]]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['Name', 'Score', 'Education'])
return df
weight = 9
depts = ['FIN', 'CONS', 'CONS', 'MANF', 'MED']
eduList = ['RWTH', 'EBS', 'OSU', 'OKSTATE', 'OK-State']
full_df = pd.DataFrame() # empty dataframe to which I would like to append all the return dfs from createDF
#function to create the dfs parallely
def run_parallel(weight, depts, eduList):
from multiprocessing import Process, current_process
processes = []
for dept in depts:
process = Process(target= createDF, args=(weight,eduList,))
processes.append(process)
process.start()
for process in processes:
process.join()
# desired result:
Name Score Education
0 kappa 72 RWTH
1 ombee 72 EBS
2 babad 40 OSU
3 matth 28 OKSTATE
4 allis 56 OK-State
5 kappa 63 RWTH
6 ombee 83 EBS
7 babad 60 OSU
8 matth 56 OKSTATE
9 allis 40 OK-State
.. .. .. ..
.. .. .. ..
.. .. .. ..