#python #pandas #yahoo-finance #pandas-datareader
#python #pandas #yahoo-финансы #pandas-datareader
Вопрос:
Я пытаюсь создать несколько фреймов данных, используя цикл for с помощью программы чтения данных pandas и yahoo_finance.У меня есть список, в котором каждая запись является названием компании:
Brazilian_stock_list = ['AALR3.SA','ABCB4.SA','ALSO3.SA','ALUP11.SA','AMAR3.SA','ANIM3.SA', ....]
Я хочу создать фрейм данных для каждой записи в приведенном выше списке.
- Что я пытался сделать без успеха:
for stock in Brazilian_stock_list:
exec('{} = pdr.get_data_yahoo()'.format(stock))
- Я также пытался удалить «.SA» из каждой записи приведенного выше списка, но это тоже не работает:
Brazilian_stock_list_2 = [stock.replace('.SA', '') for stock in Brazilian_stock_list]
for stock in Brazilian_stock_list:
('{}'.format(stock1) for stock1 in Brazilian_stock_list_2) = 'pdr.get_data_yahoo()'.format(stock)
Заранее благодарю вас за любую помощь, которую вы мне предоставляете.
Ответ №1:
Я понимаю, что вы хотите получить значения OHLC нескольких запасов во фрейме данных, поэтому я предлагаю следующий код. Несколько запасов могут быть получены одновременно путем объединения проблем с запасами с пробелами.
import yfinance as yf
Brazilian_stock_list = 'AALR3.SA ABCB4.SA ALSO3.SA'
data = yf.download(Brazilian_stock_list, start="2020-11-01", end="2020-11-30")
data.head()
Adj Close Close High Low Open Volume
AALR3.SA ABCB4.SA ALSO3.SA AALR3.SA ABCB4.SA ALSO3.SA AALR3.SA ABCB4.SA ALSO3.SA AALR3.SA ABCB4.SA ALSO3.SA AALR3.SA ABCB4.SA ALSO3.SA AALR3.SA ABCB4.SA ALSO3.SA
Date
2020-11-03 10.24 12.70 22.379999 10.24 12.70 22.379999 10.41 12.70 23.700001 9.85 12.39 22.219999 9.89 12.39 23.490000 470000 605000 1533600
2020-11-04 10.57 12.61 23.459999 10.57 12.61 23.459999 10.57 12.86 23.510000 10.09 12.47 22.400000 10.38 12.86 22.549999 341600 712800 1162900
2020-11-05 10.88 12.77 24.420000 10.88 12.77 24.420000 11.00 12.89 24.500000 10.60 12.60 23.680000 10.67 12.73 23.809999 333600 723800 3193900
2020-11-06 11.08 12.63 25.030001 11.08 12.63 25.030001 11.13 12.96 25.110001 10.64 12.55 23.790001 10.64 12.71 24.219999 310800 717600 1061000
2020-11-09 11.08 13.31 27.820000 11.08 13.31 27.820000 11.53 13.53 27.900000 11.01 13.05 26.530001 11.43 13.15 27.000000 434900 1084000 3779300