无法理解 Json_normalize Record_path 论点

Having trouble understanding Json_normalize Record_path argument

因此来自 pandas 文档: 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 和元参数有什么区别呢?

P.S.I 查看了其他 Whosebug 帖子,但不太明白。

感谢您的帮助。

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.

指定的记录中