вложенный словарь в список в dataframe python

Есть ввод json из api:

      {
  "api_info": {
    "status": "healthy"
  },
  "items": [
    {
      "timestamp": "time", 
      "stock_data": [
        {
          "ticker": "string",
          "industry": "string",
          "Description": "string"
        }
      ]
     "ISIN":xxx,
     "update_datetime": "time"
    }
  ]
}

изначально бежали

      data = requests.get(url).json()['items']

затем запустил метод json_normalize:

      apiExtractedData = pd.json_normalize(apiRawData,'carpark_data',errors='ignore')

Вот исходный результат, в котором stock_data все еще содержится в списке. stock_data ISIN update_datetime 0 [{'description': 'zzz', 'industry': 'C', 'тикер ... время xxx

Направьте меня, если уже есть ответ на существующий вопрос :) Ура.

1 ответ

Решение

Я думаю, вы можете просто преобразовать существующий фрейм данных в ожидаемый, используя приведенный ниже код:

      apiExtractedData['description'] = apiExtractedData['stock_data'].apply(lambda x: x[0]['description'])
apiExtractedData['industry'] = apiExtractedData['stock_data'].apply(lambda x: x[0]['industry'])
apiExtractedData['ticker'] = apiExtractedData['stock_data'].apply(lambda x: x[0]['ticker'])

А затем просто удалите столбец stock_data:

      apiExtractedData = apiExtractedData.drop(['stock_data'], axis = 1)
Другие вопросы по тегам