【发布时间】:2016-07-21 16:23:01
【问题描述】:
我有一个我认为应该是一个相当简单的问题,但我已经为此奋斗了好几个小时
我想对 pandas 数据框进行聚合,然后使用 matplotlib 进行绘制
我从一张包含年份和汽车型号的巨大表格开始。然后我想计算总销售价格和要价百分比。
我这样做如下
percent_asking_price =(df.groupby(['year','model'])['salesprice'].sum()/df.groupby(['year','model'])['askingprice'].sum())*100
这似乎做了我想做的事,但是我不知道如何处理输出 - 它返回的输出看起来像:
从那时起,我不知道如何处理它。我想使用 matplotlib 绘制年份和型号名称的组合,使其看起来像这样:
有点沮丧,因为这是我可以在 r 中使用 ddply 和 ggplot 非常快速地完成的事情,但在这里无法到达任何地方
我已尝试将输出转换为数据框,但这并没有让我到任何地方
非常感谢帮助
将显示结果的小集合如下:
year,model,salesprice,askingprice
2009,Taurus,25410,30000
2009,Taurus,8698,10000
2009,Maxima,11135,15000
2009,Maxima,8500,10000
2010,Corvette,25000,30000
2010,Corvette,18320,20000
2010,Trans Am,32000,35000
2010,Trans Am,23620,25000
最后 - 有没有办法将输出转换为如下所示的数据帧,所以我可以对输出做进一步的工作?我不想丢失第一列中的值..
谢谢!
【问题讨论】:
-
请在分组前显示您的原始数据,以便我们重现您的整个问题。
-
年份,型号,销售价格,要价 2009,Taurus,25410,30000 2009,Taurus,8698,10000 2009,Maxima,11135,15000 2009,Maxima,8500,10000 2010,Corvette,25000,30000 2010,克尔维特,18320,20000 2010,Trans Am,32000,35000 2010,Trans Am,23620,25000
标签: pandas matplotlib dataframe aggregation