#python #json #pandas #dataframe
#python #json #pandas #фрейм данных
Вопрос:
Я импортировал файл json в pandas, аналогичный
data = [
{
'order_id': 1 ,
'line_item': [{'id': 11, 'price':34.1},{'id': 22, 'price':53.1}]
},
{
'order_id': 2,
'line_item': [{'id': 11, 'price':34.1},{'id': 33, 'price':64.1}]
},
]
Я хочу разделить детали line_item на новые строки, мой целевой фрейм данных будет
order_id item_id price
1 11 34.1
1 22 53.1
2 11 34.1
2 33 64.1
Спасибо за любые предложения.
Ответ №1:
Попробуйте explode
затем « explode
строка
s = df.explode('line_item')
out = pd.DataFrame(s.line_item.tolist()).assign(order_id = s.order_id.values)
out
id price order_id
0 11 34.1 1
1 22 53.1 1
2 11 34.1 2
3 33 64.1 2
Ответ №2:
pandas.json_normalize
это идеальная вещь для работы:
df = pd.json_normalize(data, "line_item", meta="order_id")
print(df)
id price order_id
0 11 34.1 1
1 22 53.1 1
2 11 34.1 2
3 33 64.1 2