반응형
데이터 프레임을 그룹화하고 합계 및 개수를 얻습니까?
다음과 같은 데이터 프레임이 있습니다.
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
, 새로운 dataframe을 얻기 위해 그 같은 외모?
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
열이 많고 하나만 다른 경우 다음을 수행 할 수 있습니다.
In[1]: grouper = df.groupby('Company Name')
In[2]: res = grouper.count()
In[3]: res['Amount'] = grouper.sum()['Amount']
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
반응형
'Nice programing' 카테고리의 다른 글
카르타고 카트 파일을 올바르게 만드는 방법은 무엇입니까? (0) | 2020.12.29 |
---|---|
구성 요소에서 사용되는 지시문에 대한 참조 가져 오기 (0) | 2020.12.29 |
cygwin에서 mysql에 연결 (0) | 2020.12.29 |
X 서버가 실행 중인지 확인하는 방법은 무엇입니까? (0) | 2020.12.29 |
SQLException : 문자열 또는 이진 데이터가 잘립니다. (0) | 2020.12.29 |