Pandas 자료형변환(astype)

Pandas의 astype 메서드를 사용하면 데이터프레임 내의 특정 컬럼의 자료형을 원하는 형태로 손쉽게 변환할 수 있다. 이는 데이터 분석 및 전처리 작업에서 중요한 단계 중 하나이며, 데이터를 올바르게 처리하기 위해 필수적인 작업이다. 이 글에서는 astype 메서드를 사용한 Pandas 자료형 변환에 대해 알아본다.

astype 메서드

astype 메서드는 데이터프레임의 특정 컬럼의 자료형을 변환하는 데 사용된다. astype 구조는 다음과 같은 구조를 가진다.

dataframe['컬럼명'].astype(변환할_자료형)
  • dataframe: 대상 데이터프레임
  • '컬럼명': 자료형을 변환할 대상 컬럼의 이름
  • 변환할_자료형: 변환할 자료형의 이름 또는 Pandas 자료형 객체

astype 메서드는 대상 컬럼의 값들을 지정한 자료형으로 변환하고, 변환된 결과를 반환한다. 원본 데이터프레임은 변경되지 않는다.

자료형 변환 예제

정수형에서 실수형으로 변환

정수형 컬럼을 실수형으로 변환하려면 다음과 같이 astype 메서드를 사용한다. 아래 코드는 astype(float)을 사용하여 정수 컬럼을 실수형으로 변환하는 것을 보여준다.

import pandas as pd

data = {'정수컬럼': [1, 2, 3, 4]}
df = pd.DataFrame(data)

# '정수컬럼'을 실수형(float)으로 변환
df['정수컬럼'] = df['정수컬럼'].astype(float)

print(df.dtypes)
정수컬럼    float64
dtype: object

문자열에서 카테고리형으로 변환

문자열로 저장된 컬럼을 카테고리형으로 변환하면 메모리 사용량을 줄일 수 있으며 데이터 분석 성능을 향상시킬 수 있다. 아래 코드는 category를 사용하여 ‘카테고리컬럼’을 카테고리형으로 변환한다.

import pandas as pd

data = {'카테고리컬럼': ['A', 'B', 'A', 'C']}
df = pd.DataFrame(data)

# '카테고리컬럼'을 카테고리형(category)으로 변환
df['카테고리컬럼'] = df['카테고리컬럼'].astype('category')

print(df.dtypes)
카테고리컬럼    category
dtype: object

주의사항

  • astype 메서드를 사용하여 자료형을 변환할 때, 변환에 실패할 경우 오류가 발생할 수 있다. 예를 들어, 문자열 컬럼을 정수형으로 변환하려고 하면 문자열 내에 숫자로 변환할 수 없는 값이 있을 경우 오류가 발생한다. 이럴 때는 데이터를 미리 정리하거나 오류 처리를 추가해야 한다.
  • astype 메서드는 원본 데이터프레임을 변경하지 않으며, 변환된 결과를 반환한다. 따라서 변환 결과를 원본 데이터프레임에 반영하려면 다시 할당해야 한다.

참조

답글 남기기