我正在使用流光燈和熊貓。
我正在使用一個函式,該函式回傳從另一個 .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())
uj5u.com熱心網友回復:
目前尚不清楚您是否必須使用這些庫,但這需要提供的 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]
uj5u.com熱心網友回復:
st.dataFrame 不會將資料轉換為資料幀,它只是獲取一個資料幀并將其呈現在 Streamlit 應用程式中。
雖然您沒有在問題代碼中顯示它,但您說usdMarket函式中的最后一行以 json 格式回傳資料,因此您需要將其轉換為 dataFrame for st.dataFrame.
此代碼應該作業:
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]
# return some json
st.dataFrame(pd.read_json(usdMarket()))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/392853.html
上一篇:嘗試使用for回圈時,“float”型別的引數不可迭代
下一篇:在資料框列中的字串周圍添加雙引號
