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

파이썬으로 DataFrame에서 20세~30세 사이 나이 개수 계산하기

문제 개요

pandas DataFrame에서 특정 연령 범위(예: 20세에서 30세 사이)에 해당하는 데이터가 몇 개인지 세는 방법을 알아보겠습니다. 이 작업은 between() 함수를 사용하면 매우 간단하게 처리할 수 있습니다.

입력 데이터

다음과 같은 DataFrame이 있다고 가정해 보겠습니다.

 Id Age
0 1 21
1 2 23
2 3 32
3 4 35
4 5 18

출력 결과

20세에서 30세 사이의 나이 총 개수는 2개입니다.

해결 방법

이 문제는 아래 단계를 따라 해결할 수 있습니다.

  • 먼저 DataFrame을 정의합니다.

  • Age 열의 값이 20 이상 30 이하인 행만 필터링하여 결과 DataFrame에 저장합니다. 코드는 다음과 같습니다.

df[df['Age'].between(20,30)]
  • 마지막으로 결과 DataFrame의 길이(len())를 계산하면 조건에 맞는 데이터 개수를 얻을 수 있습니다.

전체 예제 코드

아래 예제를 통해 실제 동작 과정을 더 자세히 이해해 보겠습니다.

import pandas as pd
data = {'Id':[1,2,3,4,5],'Age':[21,23,32,35,18]}
df = pd.DataFrame(data)
print(df)
print("Count the age between 20 to 30")
result = df[df['Age'].between(20,30)]
print(len(result))

실행 결과

 Id Age
0 1 21
1 2 23
2 3 32
3 4 35
4 5 18
Count the age between 20 to 30
2

핵심 포인트 정리

between(20, 30)은 기본적으로 양쪽 경계값(20과 30)을 모두 포함하는 조건을 반환합니다. 만약 경계값을 제외하고 싶다면 inclusive='neither' 옵션을 활용할 수 있습니다. 또한 조건에 맞는 행의 개수를 셀 때는 len(result) 대신 result.shape[0]을 사용해도 동일한 결과를 얻을 수 있습니다.