2017-10-18 15 views
0

特定の列でグループ化して集計演算子を実行するのに問題があります。たとえば、週と地域別にグループ化して、不合格の総数/配信の総数をあるレートで計算する必要があります。集計演算子でグループ化するにはどうすればよいですか?

また、グループ内のリージョンをフィルタリングする方法はありますか?

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

構文の問題だけではないですか? 2つの列をリストとして提供する必要があります。 ['week_starting'、 'Region']。 DFrameが何であるかを見ることなく、間違ったことを言うのは難しいです。 – breucopter

答えて

0

まず、この領域にフィルタをかけます。次にgroupbysumとし、合計を個々の列に適用します。次のステップで2つの列を分割します。

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'] 
関連する問題