У меня есть некоторая структура и данные
CusID Name Shop Item Card Type Price
1 Paul Pascal [{"Food":"001","Water":"Melon","Dessert":"Mango"}] [{"Main":"Yes", "Second":""}] {"VIP":"YES"} 24000
2 Mark Casio [{"Food":"001","Water":"Apple","Dessert":"Mango"}] [{"Main":"", "Second":"Yes"}] {"VIP":"YES"} 30800
3 Bill Nike [{"Food":"004","Water":"","Dessert":""}] [] {} 900
Я хочу разделить столбцы Item, Card и Type. Это ожидаемый результат
Name Shop Food Water Dessert Card_Main Card_Second VIP Price
Paul Pascal 1 Melon Mango Yes YES 24000
Mark Casio 1 Apple Mango Yes YES 30800
Bill Nike 4 900
Код для фрейма данных:
d = [{'CusID': 1, 'Name': 'Paul', 'Shop': 'Pascal',
'Item': [{"Food":"001","Water":"Melon","Dessert":"Mango"}],
'Card': [{"Main":"Yes", "Second":""}], 'Type': {"VIP":"YES"}, 'Price': 24000},
{'CusID': 2, 'Name': 'Mark', 'Shop': 'Casio', 'Item': [{"Food":"001","Water":"Apple","Dessert":"Mango"}],
'Card': [{"Main":"", "Second":"Yes"}], 'Type': {"VIP":"YES"}, 'Price': 30800},
{'CusID': 3, 'Name': 'Bill', 'Shop': 'Nike', 'Item': [{"Food":"004","Water":"","Dessert":""}],
'Card': [], 'Type': {}, 'Price': 900}]
df = pd.DataFrame(d)
Вот мой код для фрейма данных. В словаре списка есть '', но фрейм данных выглядит без разницы!
d = [{'CusID': 1, 'Name': 'Paul', 'Shop': 'Pascal',
'Item': '[{"Food":"001","Water":"Melon","Dessert":"Mango"}]',
'Card': '[{"Main":"Yes", "Second":""}]', 'Type': '{"VIP":"YES"}', 'Price': 24000},
{'CusID': 2, 'Name': 'Mark', 'Shop': 'Casio', 'Item': '[{"Food":"001","Water":"Apple","Dessert":"Mango"}]',
'Card': '[{"Main":"", "Second":"Yes"}]', 'Type': '{"VIP":"YES"}', 'Price': 30800},
{'CusID': 3, 'Name': 'Bill', 'Shop': 'Nike', 'Item': '[{"Food":"004","Water":"","Dessert":""}]',
'Card': [], 'Type': {}, 'Price': 900}]
df = pd.DataFrame(d)