【问题标题】:How to split JSON row data into multiple columns in Python如何在 Python 中将 JSON 行数据拆分为多列
【发布时间】:2021-10-21 18:56:40
【问题描述】:

我正在尝试找到一种方法将 JSON 行数据拆分(展平)为 pandas 中的多列。

我有一个如下所示的数据框:

Current Dataframe

这是一行的示例:

Row example

我可以在单行上使用 json_normalize 函数来实现以下目的:(它只是作为示例缩短)

Code Example

Table

但是,当尝试将 normalize 函数应用于整个数据框时,我得到 'str' 对象没有属性 'values'

对于如何去做这件事有什么建议吗?谢谢

对于图片的使用,我深表歉意,但我一直收到一条消息说代码格式不正确

【问题讨论】:

  • 您希望 json 中的嵌套键成为单独的列吗?
  • 是的,我希望每个键都在不同的列中,例如“表”中的照片,但它必须应用于整个数据帧,而不仅仅是一行
  • 转换后的音量怎么样?
  • 现在很好,您在下面的回答很有帮助。谢谢

标签: python json pandas data-wrangling


【解决方案1】:

如果是平面 json,那么你可以试试:-

new_df = pd.DataFrame(df['tickers'].tolist())

Dataframe 构造函数接受一个字典对象列表并将键转换为列作为默认方向,如果您的数据是标准化的并且没有复杂的嵌套结构,这是最简单的方法。

【讨论】:

    【解决方案2】:
    all_data_jsons = df['tickers'].to_list()
    df = pd.DataFrame(all_data_jsons)
    

    也许你可以试试这个

    【讨论】:

      猜你喜欢
      • 2021-04-26
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多