我正在嘗試從股票市場 api(歷史資料)創建 DataFrame。當 api 獲取結果時,資料看起來排列得很好。但是當我創建 DataFrame 時,所有資料都出現在一行中。
應用程式介面:
historicParam={
"exchange": "NSE",
"symboltoken": "14977",
"interval": "FIFTEEN_MINUTE",
"fromdate": '2021-07-01 09:41',
"todate": '2021-07-29 10:41'}
a=obj.getCandleData(historicParam)
API 回應結構如下(示例)。它按順序包含日期時間、開盤價、最高價、最低價、收盤價和成交量值。
{'data': [['2021-07-01T09:45:00 05:30', 173.63, 173.7, 173.4, 173.48, 329246],
['2021-07-01T10:00:00 05:30', 173.48, 173.7, 173.29, 173.59, 284357],
['2021-07-01T10:15:00 05:30', 173.55, 173.66, 172.65, 173.14, 549551],
'errorcode': '',
'message': 'SUCCESS',
'status': True}
當我使用下面的行轉換上述資料時,所有資料都顯示在 DataFrame 的一行中
df = pd.DataFrame([a['data']])
df
結果: 請點擊這里查看輸出
如果我想在打開高低關閉卷列的 DataFrame 中獲取資料,我該怎么辦?
uj5u.com熱心網友回復:
df = pd.DataFrame([a['data']])
您正在將您的呼叫包裝a['data']在list. 洗掉[]并簡單地通過
df = pd.DataFrame(a['data'])
如果你想命名你的列,你也可以使用;
data = {'data': [['2021-07-01T09:45:00 05:30', 173.63, 173.7, 173.4, 173.48, 329246],
['2021-07-01T10:00:00 05:30', 173.48, 173.7, 173.29, 173.59, 284357],
['2021-07-01T10:15:00 05:30', 173.55, 173.66, 172.65, 173.14, 549551]],
'errorcode': '',
'message': 'SUCCESS',
'status': True}
pd.DataFrame(data['data'], columns=['date', 'open', 'high', 'low', 'close', 'volume'])
date open high low close volume
0 2021-07-01T09:45:00 05:30 173.63 173.70 173.40 173.48 329246
1 2021-07-01T10:00:00 05:30 173.48 173.70 173.29 173.59 284357
2 2021-07-01T10:15:00 05:30 173.55 173.66 172.65 173.14 549551
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331562.html
