我试图基于pandas数据框架创建一个列表字典,我需要一个列表字典来传递给我的Plotly仪表盘。
In:
df.head()
Model Make
Ford F-150
Ford Escape
Ford Mustang
Jeep Grand Cherokee
Jeep Wrangler
我发现 df.to_dict()
但我需要根据相邻行的值来定位。唯一的方法是将我的数据框架按Model重塑成列,并在列下设置各自的make吗?
Out:
makes_by_model= {
'Ford': ['F-150', 'Escape', 'Mustang'],
'Jeep': ['Wrangler', 'Grand Cherokee']
}
你可以 groupby
,汇总到列表,返回一个 rec.array
与 to_records
并从结果中构建一个字典。
dict(df.groupby('Model').agg(list).to_records())
# {'Ford': ['F-150', 'Escape', 'Mustang'], 'Jeep': ['Grand Cherokee', 'Wrangler']}