在我的項目中,我使用 Flask 我得到一個 JSON(通過 REST API),其中包含我應(yīng)該轉(zhuǎn)換為 Pandas Dataframe 的數(shù)據(jù)。JSON 看起來像:{ "entity_data":[ {"id": 1, "store": "a", "marker": "a"} ]}我得到 JSON 并提取數(shù)據(jù):params = request.jsonentity_data = params.pop('entity_data')然后我將數(shù)據(jù)轉(zhuǎn)換為熊貓數(shù)據(jù)框:entity_ids = pd.DataFrame(entity_data)結(jié)果如下所示: id marker store0 1 a a這不是列的原始順序。我想像在字典中一樣更改列的順序。幫助?
3 回答

慕妹3146593
TA貢獻1820條經(jīng)驗 獲得超9個贊
只需添加列名稱參數(shù)。
entity_ids = pd.DataFrame(entity_data, columns=["id","store","marker"])

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超5個贊
假設(shè)您有權(quán)訪問 JSON 發(fā)送方,您可以在 JSON 本身中發(fā)送訂單。
喜歡
`{
"order":['id','store','marker'],
"entity_data":{"id": [1,2], "store": ["a","b"],
"marker": ["a","b"]}
}
然后創(chuàng)建columns指定的DataFrame 。正如 Chiheb.K. 所說
import pandas as pd
params = request.json
entity_data = params.pop('entity_data')
order = params.pop('order')
entity_df=pd.DataFrame(data,columns=order)
如果您不能在 JSON 中明確指定順序??吹竭@個答案,指定object_pairs_hook在 JSONDecoder得到一個OrderedDict,然后創(chuàng)建DataFrame
添加回答
舉報
0/150
提交
取消