我有以下 json 檔案:
{
"data": {
"start_date": "2022-10-01",
"end_date": "2022-10-04",
"cur": "EUR",
"prizes": {
"2022-10-01": {
"coffee": 0.1448939471560284,
"usd": 1
},
"2022-10-02": {
"coffee": 0.14487923291390148,
"usd":1
},
"2022-10-03": {
"coffee": 0.1454857922753868,
"usd": 1
}
}
}
}
我想創建一個看起來像這樣的資料框,(所以沒有usd列):
coffee
2022-10-01 0.144894
2022-10-02 0.144879
2022-10-03 0.145486
這是我嘗試過的:
path = r'C:\Users\Geo\Desktop\json_files\coffee.json'
df = pd.read_json(path)
df = pd.DataFrame(df['data']['prizes']['2022-10-01']['coffee']).T
print(df)
這是我收到的:
raise ValueError("DataFrame constructor not properly called!")
ValueError: DataFrame constructor not properly called!
uj5u.com熱心網友回復:
假設d輸入變數的一種選擇:
df = (pd.DataFrame
.from_dict(d['data']['prizes'], orient='index')
.drop(columns='usd', errors='ignore') # or [['coffee']]
)
輸出:
coffee
2022-10-01 0.144894
2022-10-02 0.144879
2022-10-03 0.145486
uj5u.com熱心網友回復:
假設您的 json 檔案被加載到字典中data
df = pd.DataFrame(data['data']['prizes']).drop('usd').T
print(df)
coffee
2022-10-01 0.144894
2022-10-02 0.144879
2022-10-03 0.145486
uj5u.com熱心網友回復:
假設json存盤在變數中json
json = {
"data": {
"start_date": "2022-10-01",
"end_date": "2022-10-04",
"cur": "EUR",
"prizes": {
"2022-10-01": {
"coffee": 0.1448939471560284,
"usd": 1
},
"2022-10-02": {
"coffee": 0.14487923291390148,
"usd":1
},
"2022-10-03": {
"coffee": 0.1454857922753868,
"usd": 1
}
}
}
}
以下將完成作業
df = pd.DataFrame(json['data']['prizes']).T.drop('usd', axis=1)
[Out]:
coffee
2022-10-01 0.144894
2022-10-02 0.144879
2022-10-03 0.145486
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/518006.html
上一篇:為什么在Matlab中pinv答案不等于svd方法答案?
下一篇:剩余行總和的矢量化版本
