从 pandas 数据框创建列表字典

Pat*_*Pat 1 python dictionary dataframe pandas

我正在尝试创建基于 pandas 数据框的列表字典,我需要一个列表字典来传递给我的 Plotly 仪表板

In:
df.head()
Model    Make
Ford     F-150
Ford     Escape
Ford     Mustang
Jeep     Grand Cherokee
Jeep     Wrangler

Run Code Online (Sandbox Code Playgroud)

df.to_dict()通过列标题找到方向,但我需要根据相邻行值进行方向。唯一的方法是通过模型将我的数据框重新整形为列,并在其下包含各自的品牌吗?

Out:
makes_by_model= {
    'Ford': ['F-150', 'Escape', 'Mustang'],
    'Jeep': ['Wrangler', 'Grand Cherokee']
}
Run Code Online (Sandbox Code Playgroud)

yat*_*atu 6

您可以groupby聚合到列表,返回一个rec.arraywithto_records并从结果构造一个字典:

dict(df.groupby('Model').agg(list).to_records())
# {'Ford': ['F-150', 'Escape', 'Mustang'], 'Jeep': ['Grand Cherokee', 'Wrangler']}
Run Code Online (Sandbox Code Playgroud)