Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python – Pandas 데이터프레임을 그룹 크기 기준으로 내림차순 정렬하는 방법

Pandas 데이터프레임을 그룹 크기 기준으로 내림차순 정렬하기

Pandas에서 데이터프레임을 그룹화할 때는 groupby() 함수를 사용합니다. 그룹화된 결과를 내림차순으로 정렬하려면 sort_values()를 활용하고, 각 그룹에 속한 요소의 개수(그룹 크기)를 구할 때는 size() 메서드를 사용합니다.

내림차순 정렬을 적용하려면 sort_values() 호출 시 다음과 같이 옵션을 지정합니다.

ascending=False

1단계: 데이터프레임 생성

먼저 예제로 사용할 Pandas 데이터프레임을 만들어 보겠습니다.

import pandas as pd

dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
      "Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
   }
)

2단계: Reg_Price 열 기준으로 그룹화 후 내림차순 정렬

Reg_Price 열을 기준으로 데이터를 그룹화하고, 그룹 크기를 내림차순으로 정렬합니다.

dataFrame.groupby('Reg_Price').size().sort_values(ascending=False)

전체 예제 코드

다음은 위 과정을 하나로 묶은 완성된 코드입니다.

import pandas as pd

# Reg_Price 열을 포함한 데이터프레임 생성
dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
      "Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
   }
)

print("데이터프레임:\n", dataFrame)

# Reg_Price 열 기준으로 그룹화하여 내림차순 정렬
print("\n내림차순 정렬 결과:")
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=False))

실행 결과

위 코드를 실행하면 다음과 같은 출력이 나타납니다.

데이터프레임:
        Car  Reg_Price
0       BMW       1000
1     Lexus       1400
2      Audi       1000
3  Mercedes        900
4    Jaguar       1700
5   Bentley        900

내림차순 정렬 결과:
Reg_Price
1000    2
900     2
1700    1
1400    1
dtype: int64

출력 결과를 보면 등록 가격이 1000인 차량과 900인 차량은 각각 2대씩 존재하고, 1700과 1400인 차량은 각각 1대씩 존재합니다. ascending=False 옵션 덕분에 그룹 크기가 큰 순서부터 내림차순으로 정렬되어 표시됩니다.