반응형
데이터 프레임을 그룹화하고 합계 AND 카운트를 구하시겠습니까?
다음과 같은 데이터 프레임이 있습니다.
Company Name Organisation Name Amount
10118 Vifor Pharma UK Ltd Welsh Assoc for Gastro & Endo 2700.00
10119 Vifor Pharma UK Ltd Welsh IBD Specialist Group, 169.00
10120 Vifor Pharma UK Ltd West Midlands AHSN 1200.00
10121 Vifor Pharma UK Ltd Whittington Hospital 63.00
10122 Vifor Pharma UK Ltd Ysbyty Gwynedd 75.93
어떻게 요약하면 될까요?Amount
그리고 세어보세요.Organisation Name
이렇게 생긴 새로운 데이터 프레임을 얻는 것?
Company Name Organisation Count Amount
10118 Vifor Pharma UK Ltd 5 11000.00
요약하거나 세는 방법을 알고 있습니다.
df.groupby('Company Name').sum()
df.groupby('Company Name').count()
하지만 둘 다 하는 방법은 아닙니다!
사용해 보십시오.
In [110]: (df.groupby('Company Name')
.....: .agg({'Organisation Name':'count', 'Amount': 'sum'})
.....: .reset_index()
.....: .rename(columns={'Organisation Name':'Organisation Count'})
.....: )
Out[110]:
Company Name Amount Organisation Count
0 Vifor Pharma UK Ltd 4207.93 5
또는 인덱스를 재설정하지 않으려는 경우:
df.groupby('Company Name')['Amount'].agg(['sum','count'])
또는
df.groupby('Company Name').agg({'Amount': ['sum','count']})
데모:
In [98]: df.groupby('Company Name')['Amount'].agg(['sum','count'])
Out[98]:
sum count
Company Name
Vifor Pharma UK Ltd 4207.93 5
In [99]: df.groupby('Company Name').agg({'Amount': ['sum','count']})
Out[99]:
Amount
sum count
Company Name
Vifor Pharma UK Ltd 4207.93 5
집계 중에 열 이름을 바꾸는 방법이 궁금할 경우를 대비하여 다음과 같은 방법이 있습니다.
판다 >= 0.25: 명명된 집합체
df.groupby('Company Name')['Amount'].agg(MySum='sum', MyCount='count')
아니면.
df.groupby('Company Name').agg(MySum=('Amount', 'sum'), MyCount=('Amount', 'count'))
MySum MyCount
Company Name
Vifor Pharma UK Ltd 4207.93 5
열이 많은데 하나만 다를 경우 다음 작업을 수행할 수 있습니다.
In[1]: grouper = df.groupby('Company Name')
In[2]: res = grouper.count()
In[3]: res['Amount'] = grouper.Amount.sum()
In[4]: res
Out[4]:
Organisation Name Amount
Company Name
Vifor Pharma UK Ltd 5 4207.93
그런 다음 원하는 대로 조직 이름 열의 이름을 바꿀 수 있습니다.
df.groupby('Company Name').agg({'Organisation name':'count','Amount':'sum'})\
.apply(lambda x: x.sort_values(['count','sum'], ascending=False))
언급URL : https://stackoverflow.com/questions/38174155/group-dataframe-and-get-sum-and-count
반응형
'prosource' 카테고리의 다른 글
jQuery의 document.ready 함수는 언제 사용해야 합니까? (0) | 2023.09.05 |
---|---|
R에 있는 그림의 첨자 (0) | 2023.09.05 |
MariaDB와 MYSQL 5.6이 서로 다른 결과를 반환함 (0) | 2023.09.05 |
보기에 대한 쿼리를 빠르게 수행할 수 있도록 보기를 캐시하는 방법이 있습니까? (0) | 2023.09.05 |
웹 페이지의 실시간 데이터를 구현하는 방법 (0) | 2023.09.05 |