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

Pandas에서 숫자형 열을 찾는 방법 – select_dtypes() 완벽 가이드

Pandas에서 데이터프레임의 숫자형(numeric) 열만 골라내고 싶다면 select_dtypes() 메서드를 활용하면 됩니다. 핵심은 원하는 데이터 타입(예: int16, int32, int64)의 목록을 만들어 include 인자로 전달하는 것입니다. 예제를 통해 실제 적용 방법을 단계별로 살펴보겠습니다.

처리 단계

  • 2차원 구조에 크기 변경이 가능하고 서로 다른 자료형을 담을 수 있는 표 형태의 데이터(DataFrame) df를 생성합니다.
  • 입력 DataFrame df를 출력해 내용을 확인합니다.
  • 선택할 데이터 타입 목록, 즉 숫자형 타입(int16, int32, int64 등)을 만듭니다.
  • select_dtypes() 메서드를 사용해 열의 dtype을 기준으로 조건에 맞는 열들의 부분집합을 반환받습니다.
  • 데이터 타입이 int인 열만 최종적으로 출력합니다.

예제 코드

import pandas as pd

df = pd.DataFrame(
    dict(
        name=['John', 'Jacob', 'Tom', 'Tim', 'Ally'],
        marks=[89, 23, 100, 56, 90],
        subjects=["Math", "Physics", "Chemistry", "Biology", "English"]
    )
)

print("Input DataFrame is:\n", df)
numerics = ['int16', 'int32', 'int64']
df = df.select_dtypes(include=numerics)
print("Numeric column in input DataFrame is:\n", df)

실행 결과

Input DataFrame is:
     name  marks   subjects
0   John     89       Math
1  Jacob     23    Physics
2    Tom    100  Chemistry
3    Tim     56    Biology
4   Ally     90    English

Numeric column in input DataFrame is:
    marks
0    89
1    23
2   100
3    56
4    90

코드 설명

위 예제에서 DataFrame은 문자열 열(name, subjects)과 정수형 열(marks)을 함께 가지고 있습니다. select_dtypes(include=numerics)를 호출하면 지정한 숫자형 타입에 해당하는 marks 열만 남고, 나머지 문자열 열은 자동으로 제외됩니다.

참고 사항

실수형(float) 열까지 함께 선택하고 싶다면 목록에 'float16', 'float32', 'float64'를 추가하거나, NumPy의 np.numberinclude 값으로 전달하면 모든 숫자형 열을 한 번에 선택할 수 있습니다. 반대로 특정 타입을 제외하고 싶을 때는 exclude 인자를 사용하면 됩니다.