从pandas数据框架中创建一个列表字典

问题描述 投票:0回答:1

我试图基于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']
}
python pandas dataframe dictionary plotly
1个回答
4
投票

你可以 groupby,汇总到列表,返回一个 rec.arrayto_records 并从结果中构建一个字典。

dict(df.groupby('Model').agg(list).to_records())
# {'Ford': ['F-150', 'Escape', 'Mustang'], 'Jeep': ['Grand Cherokee', 'Wrangler']}
© www.soinside.com 2019 - 2024. All rights reserved.