Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - Pandas DataFrame을 월별로 그룹화하는 방법은 무엇입니까?

<시간/>

groupby를 사용하여 Pandas DataFrame을 그룹화합니다. . 그룹화 기능을 사용하여 사용할 열을 선택합니다. 아래에 표시된 자동차 판매 기록의 예에 대해 월별로 그룹화하고 월별 등록 가격 합계를 계산합니다.

먼저 다음이 3개의 열이 있는 Pandas DataFrame이라고 가정해 보겠습니다.

dataFrame =pd.DataFrame( { "자동차":["아우디", "렉서스", "테슬라", "메르세데스", "BMW", "도요타", "닛산", "벤틀리", "머스탱" ], "Date_of_Purchase":[ pd.Timestamp("2021-06-10"), pd.Timestamp("2021-07-11"), pd.Timestamp("2021-06-25"), pd.Timestamp( "2021-06-29"), pd.Timestamp("2021-03-20"), pd.Timestamp("2021-01-22"), pd.Timestamp("2021-01-06"), pd. Timestamp("2021-01-04"), pd.Timestamp("2021-05-09") ], "Reg_Price":[1000, 1400, 1100, 900, 1700, 1800, 1300, 1550], } 1 

groupby() 함수 내에서 Date_of_Purchase 열을 선택하려면 Grouper를 사용합니다. 주파수 주파수는 'M'으로 설정되어 월별 그룹화 -

print("\n그룹 데이터 프레임을 월...\n",dataFrame.groupby(pd.Grouper(key='Date_of_Purchase', axis=0, freq='M')).sum()) 

예시

다음은 코드입니다 -

Pandas를 Date_of_PurchasedataFrame =pd.DataFrame( { "Car":["Audi", "Lexus", "Tesla", "Mercedes", "BMW", "Toyota")으로 열 중 하나가 있는 pd# 데이터 프레임으로 가져오기 , "닛산", "벤틀리", "머스탱"], "Date_of_Purchase":[ pd.Timestamp("2021-06-10"), pd.Timestamp("2021-07-11"), pd.Timestamp(" 2021-06-25"), pd.Timestamp("2021-06-29"), pd.Timestamp("2021-03-20"), pd.Timestamp("2021-01-22"), pd.Timestamp ("2021-01-06"), pd.Timestamp("2021-01-04"), pd.Timestamp("2021-05-09") ], "등록 가격":[1000, 1400, 1100, 900, 1700, 1800, 1300, 1150, 1350] })print"DataFrame...\n",dataFrame# groupby 함수 내에서 Date_of_Purchase 열을 선택하는 그룹화 기능print"\n그룹 데이터 프레임을 월별로 그룹화...\n",dataFrame.groupby(pd .Grouper(key='Date_of_Purchase', axis=0, freq='M')).sum()

출력

그러면 다음과 같은 출력이 생성됩니다. 매월 등록 가격이 계산됩니다 -

DataFrame... 자동차 Date_of_Purchase Reg_Price0 Audi 2021-06-10 10001 Lexus 2021-07-11 14002 Tesla 2021-06-25 11003 Mercedes 2021-06-29 9014-1 BMW2 Na22 18006 Nissan 2021-01-06 13007 Bentley 2021-01-04 11508 Mustang 2021-05-09 1350 월별 데이터 프레임 그룹 NaN2021-05-31 1350.02021-06-30 3000.02021-07-31 1400.0