【问题标题】:Using a function to retrieve keys to put in a dataframe使用函数检索键以放入数据帧
【发布时间】:2022-01-25 08:46:02
【问题描述】:

我正在使用 streamlit 和 pandas。

我正在使用从另一个 .py 文件导入的 API 字典中返回键的函数。该函数确实返回了我想要的键。但是,当我将函数转换为带有 streamlit 的 DataFrame 时,我得到了错误。任何人都可以帮忙吗?我想将函数 usdMarket() 表示的数据显示为数据框。最后一行返回json格式的数据。

import streamlit as st
import pandas as pd
from alt import bncQ

def usdMarket():
    for i in range (0, len(bncQ['symbols']), 1):
        if bncQ['symbols'][i]['quoteAsset']=='USD':
            bncQ['symbols'][i]

st.DataFrame(usdMarket())

【问题讨论】:

  • 能否展示您的数据框样本?
  • 我正在使用api:api.binance.us/api/v3/exchangeInfo该函数返回具有quoteAsset键'USD'的数据希望有意义
  • 样本:{ "symbol":"BTCUSD" "status":"TRADING" "baseAsset":"BTC" "baseAssetPrecision":8 "quoteAsset":"USD"

标签: python pandas api streamlit


【解决方案1】:

目前尚不清楚您是否必须使用这些库,但这需要提供的 url 并将其解析为 USD。

import requests
import pandas as pd
data = requests.get('https://api.binance.us/api/v3/exchangeInfo').json()
df = pd.DataFrame(data['symbols'])
dfUSD = df[['symbol', 'quoteAsset']].loc[df['quoteAsset']=='USD']
dfUSD

       symbol quoteAsset
0      BTCUSD        USD
1      ETHUSD        USD
2      XRPUSD        USD
3      BCHUSD        USD
4      LTCUSD        USD
..        ...        ...
127   CTSIUSD        USD
129    DOTUSD        USD
131    YFIUSD        USD
133  1INCHUSD        USD
135    FTMUSD        USD

[67 rows x 2 columns]

【讨论】:

  • 谢谢。这确实有效。你能告诉我 .loc 到底是做什么的吗?
  • 您能告诉我如何在键中返回字符串吗?假设我想使用这个 api api.binance.com/api/v3/ticker/24hr 从符号返回显示“USD”的键。我怎么能这样做?我是新手,仍在学习
  • 我会让你阅读 loc 上的文档。但这是一种允许过滤的方法。其他需要审查的是 iloc、at 和 iat。都有不同的用例。
  • 至于您的其他问题,请打开一个新问题并详细说明您的预期输出应该是什么。如果你试一试并发布你正在尝试的代码也是最好的。
猜你喜欢
  • 2017-08-13
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 2021-04-05
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多