从熊猫数据框创建列表字典
问题内容:
我正在尝试基于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']
}
问题答案:
您可以groupby
汇总到列表,rec.array
使用to_records
并返回并根据结果构造字典:
dict(df.groupby('Model').agg(list).to_records())
# {'Ford': ['F-150', 'Escape', 'Mustang'], 'Jeep': ['Grand Cherokee', 'Wrangler']}