Фильтрация длинного списка данных из 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"]]
Распечатывать: