【问题标题】:flattening multiple nested json as pandas df将多个嵌套的 json 展平为 pandas df
【发布时间】:2022-11-23 05:02:09
【问题描述】:

我正在尝试将此 json 响应扁平化为 pandas 数据框以导出到 csv。

它看起来像这样:

[{'id': 401281949, 'teams': [{'school': 'Louisiana Tech', 'conference': 'Conference USA', 'homeAway': 'away', 'points': 34, 'stats': [{'category': 'rushingTDs', 'stat': '1'}, {'category': 'puntReturnYards', 'stat': '24'}, {'category': 'puntReturnTDs', 'stat': '0'}, {'category': 'puntReturns', 'stat': '3'},...

如果我运行它并展平到团队级别,我会得到:

multiple_level_data = pd.json_normalize(j, record_path =['teams'])

我如何将它展平两次,以便所有统计数据都在每一行中各自的列中?

我用了:

multiple_level_data = pd.json_normalize(j, record_path =['teams'])

【问题讨论】:

    标签: python json pandas


    【解决方案1】:

    你能试试这个吗:

    multiple_level_data = pd.json_normalize(j, record_path =['teams'])
    multiple_level_data = multiple_level_data.explode('stats').reset_index(drop=True)
    multiple_level_data=multiple_level_data.join(pd.json_normalize(multiple_level_data.pop('stats')))
    
    

    【讨论】:

    • 谢谢!当我这样做时,统计信息全部填充在多行中,而不是带有列的单行中。 -- 它为每个统计项目创建一个新行,而不是列
    • 你可以这样写:print(multiple_level_data.head(1).to_dict('list')) 并分享输出吗?
    猜你喜欢
    • 2021-06-28
    • 2020-10-17
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 2021-05-14
    • 2020-03-11
    • 2021-04-27
    相关资源
    最近更新 更多