【发布时间】:2020-11-18 19:39:49
【问题描述】:
我有以下数据框
d = {'id': {0: 'f0c92a3d-e845-446d-b802-704fcdc1ca94',
1: '2c5ce4ff-aee3-4b45-8783-bb44b5d75fb3'},
'usd_value': {0: 315574704.6100155,
1: 267332059.93445513},
'purchases': {0: [{'name': 'toy1',
'symbol': 't1',
'price': 9664},
{'name': 'toy2',
'symbol': 't2',
'price': 8730}],
1: [{'name': 'toy1',
'symbol': 't1',
'price': 5266},
{'name': 'toy2',
'symbol': 't2',
'price': 107675},
{'name': 'toy3',
'symbol': 't3',
'price': 106994}],
}}
>>> pd.DataFrame(d)
id usd_value purchases
0 f0c92a3d-e845-446d-b802-704fcdc1ca94 3.155747e+08 [{'name': 'toy1', 'symbol': 't1', 'price': 966...
1 2c5ce4ff-aee3-4b45-8783-bb44b5d75fb3 2.673321e+08 [{'name': 'toy1', 'symbol': 't1', 'price': 5...
我想将purchases 列中的字典列表解压缩到名为name、symbol、price 的单独列中。
请注意,每个 id 可能有不同的购买次数(即字典列表的长度可能不同)。我希望重复每个购买项目的id 和use_value。我希望新的数据框看起来像这样
id usd_value name symbol price
0 f0c92a3d-e845-446d-b802-704fcdc1ca94 3.155747e+08 toy1 t1 9664
1 f0c92a3d-e845-446d-b802-704fcdc1ca94 3.155747e+08 toy2 t2 8730
我在打开它时遇到了一些麻烦,因为该列是一个字典列表。
【问题讨论】: