从熊猫数据框创建列表字典

时间:2020-04-29 19:57:00

标签: python pandas dataframe dictionary

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

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

我发现df.to_dict()按列标题定向,但是我需要根据相邻的行值进行定向。这样做的唯一方法是按Model将数据框重塑为具有其各自品牌的列吗?

Out:
makes_by_model= {
    'Ford': ['F-150', 'Escape', 'Mustang'],
    'Jeep': ['Wrangler', 'Grand Cherokee']
}

1 个答案:

答案 0 :(得分:4)

您可以SecurityUtils,聚合到列表,用groupby返回rec.array并根据结果构造字典:

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