所以從熊貓檔案: https ://pandas.pydata.org/docs/reference/api/pandas.json_normalize.html
data = [
{
"state": "Florida",
"shortname": "FL",
"info": {"governor": "Rick Scott"},
"counties": [
{"name": "Dade", "population": 12345},
{"name": "Broward", "population": 40000},
{"name": "Palm Beach", "population": 60000},
],
},
{
"state": "Ohio",
"shortname": "OH",
"info": {"governor": "John Kasich"},
"counties": [
{"name": "Summit", "population": 1234},
{"name": "Cuyahoga", "population": 1337},
],
},
]
result = pd.json_normalize(
data, "counties", ["state", "shortname", ["info", "governor"]]
)
result
name population state shortname info.governor
0 Dade 12345 Florida FL Rick Scott
1 Broward 40000 Florida FL Rick Scott
2 Palm Beach 60000 Florida FL Rick Scott
3 Summit 1234 Ohio OH John Kasich
4 Cuyahoga 1337 Ohio OH John Kasich
我的問題是 record_path 引數到底在做什么?據我了解,record_path 指定了一個記錄串列,但隨后我們也從狀態、短名稱等獲取記錄作為資料框中的特征。那么record_label 和meta 引數有什么區別呢?
PSI 查看了其他 Stackoverflow 帖子,但不太了解。
謝謝您的幫助。
uj5u.com熱心網友回復:
record_path指定實際行所依據的專案串列。
正如您在下面看到的,當您省略meta(第三個引數)時,這些行只是您指定的串列中物件的屬性,counties:
>>> pd.json_normalize(data, record_path="counties")
name population
0 Dade 12345
1 Broward 40000
2 Palm Beach 60000
3 Summit 1234
4 Cuyahoga 1337
這些直接對應于物件countries:
...
"counties": [
{"name": "Dade", "population": 12345},
{"name": "Broward", "population": 40000},
{"name": "Palm Beach", "population": 60000},
]
...
"counties": [
{"name": "Summit", "population": 1234},
{"name": "Cuyahoga", "population": 1337},
],
...
meta從您傳遞的 JSON 中指定屬性 ( data) 以添加到由records_path.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442686.html
下一篇:如何根據字串鍵檢索json值
