我正在尝试基于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']
}
答案 0 :(得分:4)
您可以SecurityUtils
,聚合到列表,用groupby
返回rec.array
并根据结果构造字典:
dict(df.groupby('Model').agg(list).to_records())
# {'Ford': ['F-150', 'Escape', 'Mustang'], 'Jeep': ['Grand Cherokee', 'Wrangler']}