Конвертировать JSON в датафрейм с двумя индексами - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь преобразовать некоторые финансовые данные в формате 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')

Ни один не получает мне то, что я хочу. Каким-то образом мне нужно избавиться от «финансов». Я хочу, чтобы фрейм данных выглядел следующим образом: enter image description here

Как мне это сделать?

1 Ответ

3 голосов
/ 22 февраля 2020

Так что просто используйте dict '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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...