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

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

<시간/>

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

groupby() grouper 메서드에서 빈도를 일 간격으로 설정합니다. 즉, 빈도가 7D이면 날짜 열에 지정된 마지막 날짜까지 매월 7일 간격으로 데이터를 그룹화한다는 의미입니다.

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

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] })

그런 다음 Grouper를 사용하여 groupby 함수 내에서 Date_of_Purchase 열을 선택합니다. 빈도는 7D로 설정됩니다. 즉 열에 언급된 마지막 날짜까지 그룹화된 7일의 간격 -

print"\n7일 단위로 데이터 프레임 그룹화...\n",dataFrame.groupby(pd.Grouper(key='Date_of_Purchase', axis=0, freq='7D')).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 열을 선택하는 그룹화 functionprint("\nGroup Dataframe by 7 days...\n",dataFrame.groupby (pd.Grouper(key='Date_of_Purchase', axis=0, freq='7D')).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 Na 22 18006 Nissan 2021-01-06 13007 Bentley 2021-01-04 11508 Mustang 2021-05-09 1350그룹 데이터 프레임 7일 단위... 10110201-2018-201-8-2024 구매 NaN2021-02-01 NaN2021-02-08 NaN2021-02-15 NaN2021-02-22 NaN2021-03-01 NaN2021-03-01 Na029 NaN2021-03-15 1700.03-2021-0 NaN2021-04-12 NaN2021-04-19 NaN2021-04-26 NaN2021-05-03 1350.02021-05-10 NaN2021-05-17 NaN 2021-05-24 NaN2021-05-31 NaN2021-06-07 1000.02021-06-14 NaN2021-06-21 1100.02021-06-28 900.02021-140-005