Python 코드

[Python] DataFrame.astype()

PaperDrop 2025. 7. 14. 21:24

○ 개요

  데이터 분석을 하다 보면 숫자를 문자열로, 혹은 문자열을 정수나 실수로 바꿔야 할 일이 많습니다. 파이썬의 astype() 함수는 이런 데이터형 변환(type casting) 을 깔끔하고 효율적으로 수행할 수 있게 해주는 강력한 도구입니다. 이 포스트에서는 astype() 함수의 정의부터 실전 예제, 주의사항까지 모두 정리해 드립니다.

 

 

○ astype 함수란?

  astype() 함수는 Pandas에서 제공하는 메서드로, DataFrame 또는 Series의 데이터 타입을 원하는 자료형으로 변환할 때 사용합니다.

Series.astype(dtype, copy=True, errors='raise')

 

 

 

○ 주요 매개변수 설명

  • dtype: 변환하고자 하는 자료형 (예: int, float, 'str', 'category', 'bool' 등)
  • copy: True일 경우, 원본을 변경하지 않고 복사본을 반환
  • errors: 'raise' 또는 'ignore'. 변환 불가 시 오류를 발생시킬지 무시할지 결정

 

 

○ 사용 예제

import pandas as pd

df = pd.DataFrame({
    '나이': ['25', '30', '40'],
    '성별': ['남', '여', '남']
})

# 나이를 정수형으로 변환
df['나이'] = df['나이'].astype(int)

# 성별을 범주형으로 변환
df['성별'] = df['성별'].astype('category')

print(df.dtypes)
# 출력 결과

나이       int64  
성별     category
 dtype: object
 

 

 

○ astype 사용 시 주의할 점

  • 변환하려는 값이 실제로 변환 가능한 값이어야 합니다. 예를 들어 'abc'를 int로 바꾸려 하면 오류가 발생합니다.
  • 잘못된 타입 변환은 ValueError를 유발하므로 errors='ignore' 옵션을 적절히 활용하세요.
  • astype()은 Pandas 객체 전용입니다. NumPy 배열이나 일반 리스트에서는 사용할 수 없습니다.

 

 

○ astype vs to_numeric의 차이점

구분 astype pd.to_numeric
주 사용 용도 명확한 자료형 지정 숫자형으로 자동 파싱
오류 처리 옵션 errors='raise', 'ignore' errors='coerce', 'ignore', 'raise'
사용 대상 Series 또는 DataFrame 주로 Series
 
 
 

 

○ 정리

  • astype()은 데이터 타입을 명시적으로 바꾸는 가장 기본적인 방법
  • copy, errors 옵션으로 동작을 세밀하게 제어할 수 있음
  • 숫자 변환에는 pd.to_numeric()도 유용하므로 상황에 맞게 선택

'Python 코드' 카테고리의 다른 글

[Python] DataFrame.fillna()  (0) 2025.10.22
[Python] Keras(TensorFlow)  (3) 2025.07.17
[Python] DataFrame.replace()  (1) 2025.07.13
[Python] pandas.get_dummies()  (1) 2025.07.12
[Python] DataFrame.drop()  (1) 2025.07.12