> 백엔드 개발 > 파이썬 튜토리얼 > Pandas Groupby를 사용하여 사무실당 총 매출 비율을 계산하는 방법은 무엇입니까?

Pandas Groupby를 사용하여 사무실당 총 매출 비율을 계산하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-12 19:19:14
원래의
221명이 탐색했습니다.

How to Calculate the Percentage of Total Sales per Office Using Pandas Groupby?

Pandas Groupby를 사용하여 총 매출 비율 계산

특정 주 내 각 사무실의 총 매출 비율을 계산하려면 Pandas의 혁신적인 힘을 활용할 수 있습니다. 그룹별 작업. 자세한 내용을 살펴보겠습니다.

state, office_id, sales라는 세 개의 열이 있는 CSV 파일을 생각해 보세요. 주 및 office_id별로 데이터를 그룹화하고 매출을 요약하려면 df.groupby(['state', 'office_id']).agg({'sales': 'sum'})를 활용할 수 있습니다.

df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3,
                   'office_id': list(range(1, 7)) * 2,
                   'sales': [np.random.randint(100000, 999999)
                             for _ in range(12)]})

df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
로그인 후 복사

이 작업을 통해 각 고유(주, office_id) 조합에 대해 매출 합계가 계산되는 그룹화된 DataFrame이 생성됩니다.

전체 매출의 비율을 결정하려면 각 사무실에서는 다음 전략을 구현할 수 있습니다.

Transform Approach

변혁의 힘을 소개합니다! 이를 매출 열에 적용하고 각 주 내 매출 합계로 나눕니다.

df['sales'] / df.groupby('state')['sales'].transform('sum')
로그인 후 복사

이 변환을 통해 각 주 내 총 매출 대비 각 사무실 매출의 비율을 나열하는 백분율이 포함된 DataFrame이 생성됩니다. .

다중 그룹별 접근 방식

또는 각 그룹 내 판매 열을 기반으로 새 그룹화된 개체를 생성할 수 있습니다. (주, office_id) 그룹. 그런 다음 새로 그룹화된 열의 합계로 나눕니다.

state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
state_pcts = state_office.groupby(level=0).apply(lambda x:
                                                 100 * x / float(x.sum()))
로그인 후 복사

이 접근 방식은 백분율 값이 있는 유사한 DataFrame을 제공하지만 추가적인 그룹화 수준이 필요합니다.

두 방법 모두 효과적입니다. 각 주 내 총 매출에 대한 각 사무실의 기여도를 계산합니다. 이러한 기술을 이해하면 그룹화된 데이터에서 새로운 통찰력을 얻을 수 있습니다!

위 내용은 Pandas Groupby를 사용하여 사무실당 총 매출 비율을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿