2017-10-18 4 views
0

특정 열에 따라 그룹화 할 때 문제가 발생하여 집계 연산자가 실행됩니다. 예를 들어 주 단위로 지역별로 분류하여 총 거부 횟수를 계산해야합니다.집계 연산자로 그룹화하는 방법은 무엇입니까?

또한 그룹에서 지역을 필터링하는 방법이 있습니까?

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

구문 문제가 아닌지 확실합니까? 즉 두 개의 열이 목록으로 제공되어야합니다. [ 'week_starting', 'Region']. DFrame이 무엇인지 보지 않고 무엇이 잘못되었는지 설명하기가 어렵습니다. – breucopter

답변

0

먼저 영역으로 필터링하십시오. 그런 다음 을 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'] 
관련 문제