DataReader от pandas не работает с многопроцессорностью - PullRequest
0 голосов
/ 27 апреля 2019

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
...