2017-10-18 74 views
0

无法按特定列分组,然后在其上运行集合运算符。例如,如果有意义的话,是否需要按周和按地区分组来计算拒收总数/分娩总数?如何使用聚合运算符进行分组?

另外,有没有一种方法来过滤组中的区域呢?

DFrame.groupby('week_starting', 'Region').agg({"Rejects": "sum"}/{"deliveries": "sum"}) 
+0

你确定这不仅仅是一个语法问题吗?两列需要作为列表提供,即。 ['week_starting','地区']。没有看到DFrame是什么,很难说出了什么问题。 – breucopter

回答

0

首先,过滤到该地区。然后,仅对groupby使用sum,将总和应用于各个列。在下一步中进行两列之间的划分。

DFrame_sub = DFrame.loc[DFrame['Region'] == 'MyRegion'] 
g = DFrame_sub.groupby('week_starting', 'Region').agg({'Rejects': 'sum' , 'Deliveries' : 'sum'}) 
g['RejectRate'] = g['Rejects']/g['Deliveries']