【问题标题】:which is the most efficient way of loading a JSON dataset into Pandas DataFrames这是将 JSON 数据集加载到 Pandas DataFrames 中的最有效方式
【发布时间】:2013-05-02 22:14:33
【问题描述】:

我没有在 JSON 上的 Pandas 文档和食谱(只是对 CSV 和带分隔符的文本文件的引用)中找到任何内容。

是否已经定义了将 JSON 直接加载到 DataFrame 中的函数?如果有不同的选择,哪个是最有效的?

【问题讨论】:

  • 你能发布一个你的 JSON 是什么样子的例子吗
  • 不是一个特定的实例问题。我想知道一些适用于不同结构的东西。在特定情况下,我可以编写一个特定的解析器,对其进行迭代,然后将数据推送到 DF。
  • 我确信过去有一些关于 from_json 方法的讨论,但不能指望它。类似于this issue...

标签: python json dataframe pandas


【解决方案1】:

上面提到了将JSON加载到DataFrame的通用方法:

import pandas as pd
d = pd.read_json('JSON File')

但是,如果您的 JSON 文件是嵌套的,并且您需要在其中创建一些嵌套属性的 DataFrame,则可以使用

 from pandas.io.json import json_normalize
 json_normalize(df[JSONKEYWORD])

在 JSONKEYWORD 中,可以传递嵌套的 JSON 对象,然后您将获得该嵌套 JSON 对象的子数据框。

【讨论】:

    【解决方案2】:

    使用熊猫 0.12:

    import pandas as pd
    
    d = pd.read_json('JSON File')
    

    【讨论】:

      【解决方案3】:

      从 github 安装 pandasjson,它提供 DataFrame from_json 和 to_json 类方法。

      https://github.com/pydata/pandasjson

      import pandasjson
      from pandas import DataFrame
      
      """
      pinfo DataFrame.from_json
      File:  ../lib/python2.7/site-packages/pandasjson.py
      Definition: DataFrame.from_json(cls, json, orient='columns', dtype=None, numpy=True)
      
      pinfo DataFrame.to_json
      File:  ../lib/python2.7/site-packages/pandasjson.py
      Definition: DataFrame.to_json(self, orient='columns', double_precision=10, force_ascii=True)
      """
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-08
        • 1970-01-01
        • 2016-06-20
        • 1970-01-01
        • 2011-04-30
        • 2011-08-24
        • 2019-12-28
        相关资源
        最近更新 更多