【问题标题】:Convert JSON to dataframe with two indices将 JSON 转换为具有两个索引的数据框
【发布时间】:2023-04-03 15:15:02
【问题描述】:

我正在尝试将一些以 JSON 格式提供的财务数据转换为数据框中的单行。但是,这个 JSON 的数据有两个索引还是嵌套索引?我不确定如何恰当地描述数据。

下面是我用来提取财务数据的代码。

import requests
import pandas as pd
stock ='AAPL'
BS = requests.get(f"https://financialmodelingprep.com/api/v3/financials/balance-sheet-statement/{stock}?period=quarter")
data = BS.json()

输出如下所示

{'symbol': 'AAPL',
 'financials': [{'date': '2019-12-28',
   'Cash and cash equivalents': '39771000000.0',
   'Short-term investments': '67391000000.0',
   'Cash and short-term investments': '1.07162e+11',
   'Receivables': '20970000000.0',...}

我尝试了以下方法

df = pd.DataFrame.from_dict(data, orient='index')

df = pd.DataFrame.from_dict(json_normalize(data), orient='columns')

两者都没有得到我想要的。不知何故,我需要摆脱“财务”。我希望数据框 看起来像:

我该怎么做?

【问题讨论】:

    标签: json python-3.x pandas dataframe


    【解决方案1】:

    所以在创建数据框时只需使用'financials' 的字典。

    import requests
    import pandas as pd
    stock ='AAPL'
    BS = requests.get(f"https://financialmodelingprep.com/api/v3/financials/balance-sheet-statement/{stock}?period=quarter")
    data = BS.json()
    df = pd.DataFrame.from_dict(data['financials'])
    print(df)
    

    【讨论】:

      猜你喜欢
      • 2016-07-07
      • 2020-07-11
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多