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

Python – Pandas DataFrame의 열 값 합계를 그룹화하고 계산합니다.

<시간/>

자동차 판매 기록의 예를 살펴보고 월별로 그룹화하여 월별 자동차 등록 가격의 합계를 계산합니다. 요약하자면 sum() 메서드를 사용합니다.

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

dataFrame = pd.DataFrame(
   {
      "Car": ["Audi", "Lexus", "Tesla", "Mercedes", "BMW", "Toyota", "Nissan", "Bentley", "Mustang"],

      "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, 1150, 1350]
   }
)

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

print"\nGroup Dataframe by month...\n",dataFrame.groupby(pd.Grouper(key='Date_of_Purchase', axis=0, freq='M')).sum()

다음은 코드입니다 -

import pandas as pd

# dataframe with one of the columns as Date_of_Purchase
dataFrame = pd.DataFrame(
   {
      "Car": ["Audi", "Lexus", "Tesla", "Mercedes", "BMW", "Toyota", "Nissan", "Bentley", "Mustang"],

      "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, 1150, 1350]
   }
)

print"DataFrame...\n",dataFrame

# Grouper to select Date_of_Purchase column within groupby function
# calculation the sum month-wise
print"\nGroup Dataframe by month...\n",dataFrame.groupby(pd.Grouper(key='Date_of_Purchase', axis=0, freq='M')).sum()

출력

이것은 다음과 같은 출력을 생성합니다 -

DataFrame...
        Car   Date_of_Purchase   Reg_Price
0      Audi        2021-06-10        1000
1     Lexus        2021-07-11        1400
2     Tesla        2021-06-25        1100
3  Mercedes        2021-06-29         900
4       BMW        2021-03-20        1700
5    Toyota        2021-01-22        1800
6    Nissan        2021-01-06        1300
7   Bentley        2021-01-04        1150
8   Mustang        2021-05-09        1350

Group Dataframe by month...
                   Reg_Price
Date_of_Purchase
2021-01-31           4250.0
2021-02-28              NaN
2021-03-31           1700.0
2021-04-30              NaN
2021-05-31           1350.0
2021-06-30           3000.0
2021-07-31           1400.0