Pandas datareader не работает с многопроцессорной обработкой / многопоточностью.
Я пытаюсь использовать datareader с многопроцессорной обработкой для ускорения кода, но функция вылетает в команде web.DataReader.
Буду очень признателен за вашу помощь!
import pandas_datareader.data as web
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime as dt
import os
import time
from multiprocessing import Process
tickerlist = [['AAPL', 'GOOGL', 'NFLX'], ['AMZN', 'AMD', 'MSFT'], ['TSLA', 'SNAP', 'JPM'], ['GS', 'BA', 'TWTR']]
def test_function(tickerlist, start, end, number):
for ticker in tickerlist:
try:
df = web.DataReader(ticker, 'yahoo', start, end)
print("datareader works")
except:
print("Could not import")
prc = []
for k in range(0, 4):
prcss = Process(target=test_function, args=(tickerlist[k], dt.datetime(2019,1,2), dt.datetime(2019,4,26), k))
prcss.start()
print(prcss)
prc.append(prcss)
for prcs in prc:
prcs.join()
print("Code finished")
Вывод:
<Process(Process-1, started)>
<Process(Process-2, started)>
<Process(Process-3, started)>
<Process(Process-4, started)>
Code finished