вложенный словарь в список в 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)