我已经输入了结构:
[{"id": 1, "name": "John", "events": [{"date": "2018-10-10", "value": 1}]},
{"id": 2, "name": "Kyle", "events": [{"date": "2018-11-10", "value": 2}]}]加载到DataFrame后,事件将存储为Series。我需要将事件序列转换为如下所示的列:
id name 2018-10-10 2018-11-10
1 John 1 0
2 Kyle 0 2如何使熊猫的这种结构变得扁平?
发布于 2018-08-28 19:49:50
在set_index an unstack中使用json_normalize
L = [{"id": 1, "name": "John", "events": [{"date": "2018-10-10", "value": 1}]},
{"id": 2, "name": "Kyle", "events": [{"date": "2018-11-10", "value": 2}]}]
from pandas.io.json import json_normalize
df = json_normalize(L, 'events', ['id','name'])
df = (df.set_index(['id','name','date'])['value']
.unstack(fill_value=0)
.reset_index()
.rename_axis(None, axis=1))
print (df)
id name 2018-10-10 2018-11-10
0 1 John 1 0
1 2 Kyle 0 2https://stackoverflow.com/questions/52057062
复制相似问题