#python #pandas #list #loops #yfinance
Вопрос:
У меня есть список тикеров, для которых мне нужно получить имя. Я пытаюсь написать цикл, который возвращает фрейм данных, содержащий Short_Name
и tic
имя.
Код ниже:
a = [] b = ['FFIV', 'FIS', 'FISV', 'FITB', 'FLS', 'FMC'] for i in b: #add 5 rows of data stock = yf.Ticker(i) a['Short_Name'] = stock.info['shortName'] a['tic'] = i
К сожалению, когда я запускаю этот код, я получаю следующую ошибку:
TypeError: list indices must be integers or slices, not str
Любая помощь была бы фантастической.
Ответ №1:
Используйте это:
a = [] b = ['FFIV', 'FIS', 'FISV', 'FITB', 'FLS', 'FMC'] for i in b: #add 5 rows of data stock = yf.Ticker(i) a.append([stock.info['shortName'], i]) df = pd.DataFrame(data=a, columns=['Short_Name', 'tic'])