import os
def bin_for_continuous(i, DV, IV):
x=[]
q=str()
left_bound=pd.qcut(Binning[DV],10).unique()[i].left
right_bound=pd.qcut(Binning[DV],10).unique()[i].right
q=str(left_bound)+"-"+str(right_bound)
x=[x for x in Binning.loc[(Binning[DV] > left_bound)&(Binning[DV]<=right_bound)].iloc[:,0]]
print(i)
for j in x:
df2.loc[df2[IV]==j, IV]=q
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid())
print('process id:', os.getpid())
processes=[]
def main():
info('main line')
for i in range(10):
p1=mp.Process(target=bin_for_continuous,args=[i,"item_cnt_day", "shop_id"])
p1.start()
processes.append(p1)
for process in processes:
process.join()
if __name__ == '__main__':
main()
Ожидаемый вывод:
main line
module name: __main__
parent process: 18692
process id: 15836
0
1
2
3
4
5
6
7
8
9
Это единственный вывод, который я получаю:
main line
module name: __main__
parent process: 18692
process id: 15836
Кажется, что функция никогда не вызывалась кодом. Выполнение кода без многопроцессорной обработки дает результаты, но использование многопроцессорной обработки не дает результатов. Я пытаюсь научиться стрелять из этой проблемы. Следовательно, нужна ваша ценная помощь! Спасибо