Фильтрация длинного списка данных из IEX

Я хотел бы отфильтровать свои данные, чтобы получить только символ, закрытие и сектор.

введите описание изображения здесь

Я попытался использовать код ниже, но я получаю сообщение об ошибке "список не вызывается".

Также обратите внимание, что iexfinance использует filter_, так как filter - зарезервированное слово в Python

 print(losers(filter_=['symbol','close']))

введите описание изображения здесь

Любая помощь будет оценена. Спасибо, парни!

1 ответ

Решение

Вы получаете список от get_market_losers() что вам нужно перебрать:

for loser in losers:
    print(loser["close"], loser["symbol"], loser["sector"])

Распечатывать:

9.1  NEWA  Industrials
4.75 LCI   Healthcare
2.3  SN    Energy
8.51 SWZ   Financial Services
2.95 PES   Energy
8.1  EGAN  Technology
8.58 CIFS  Financial Services
1.76 GERN  Healthcare
1.03 BW    Technology
6.18 JILL  Consumer Cyclical

Чтобы получить все ваши данные в кадре данных, используйте это (столбцы уже названы в соответствии с функциями IEX):

df = pd.DataFrame(losers)
# printout transposed so that you see the long list of features
df.head(1).T

Распечатывать:

avgTotalVolume      543967
calculationPrice    close
change              -0.36
changePercent       -0.03805
...

Отфильтруйте данные напрямую:

df.loc[:, ["close", "symbol", "sector"]]

Распечатывать:

введите описание изображения здесь

Другие вопросы по тегам