[파이썬] pandas 데이터프레임의 타입 변환 (astype)

데이터 분석 작업을 할 때, pandas는 일반적으로 많이 사용되는 라이브러리 중 하나입니다. pandas는 데이터를 다루고 변환하는데 매우 편리한 기능을 제공합니다. 이 중에서도 데이터프레임(DataFrame)의 타입 변환은 매우 중요한 요소입니다.

pandas의 astype 메소드를 사용하면 데이터프레임 내의 열(Column)의 데이터 타입을 다른 타입으로 변환할 수 있습니다. 이 포스트에서는 astype 메소드의 사용법과 주요 기능에 대해 살펴보겠습니다.

astype 메소드 기본 사용법

astype 메소드는 다음과 같이 사용됩니다:

df.astype(dtype)

여기서 df는 변환할 데이터프레임이고, dtype은 변환할 데이터 타입입니다. dtype은 파이썬 내장 타입(str, int, float) 또는 numpy의 자료형(np.int32, np.float64) 등을 지정할 수 있습니다.

예시:

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3],
                   'B': [4.5, 5.6, 6.7],
                   'C': ['7', '8', '9']})

# 데이터프레임 출력
print("Original DataFrame:")
print(df)

# 열의 타입 변환하기
df['A'] = df['A'].astype(float)
df['B'] = df['B'].astype(int)
df['C'] = df['C'].astype(str)

# 변환된 데이터프레임 출력
print("Modified DataFrame:")
print(df)

위의 코드에서는 세 개의 열(A, B, C)을 가진 데이터프레임을 생성한 후, 각 열의 타입을 변환하고 출력한 결과를 보여주고 있습니다.

변환된 데이터프레임은 열의 타입이 변경된 것을 확인할 수 있습니다. 열 ‘A’는 정수에서 부동소수점으로 변환되었고, 열 ‘B’는 부동소수점에서 정수로 변환되었으며, 열 ‘C’는 정수에서 문자열로 변환되었습니다.

astype 메소드의 반환값

astype 메소드는 새로운 데이터프레임을 반환하지 않고, 원본 데이터프레임을 직접 변환합니다. 따라서 astype 메소드를 호출한 후에는 원본 데이터프레임의 타입이 변경되므로 주의가 필요합니다.

이렇게 원본 데이터프레임을 직접 변경하는 것이 기본 동작이지만, 필요에 따라 astype 메소드의 반환값을 새로운 변수에 저장하여 사용할 수도 있습니다.

df_new = df.astype({'A': float, 'B': int, 'C': str})

위의 코드에서는 astype 메소드에 딕셔너리 형태로 열과 변환할 타입을 지정하여 호출하고, 변환된 데이터프레임을 df_new 변수에 저장하였습니다.

astype 메소드의 주요 기능

astype 메소드는 다양한 타입 변환 기능을 제공합니다:

이 외에도 다양한 데이터 타입 변환 기능을 지원하므로, 필요한 경우에 적절한 타입 변환을 선택하여 사용할 수 있습니다.

결론

pandas의 astype 메소드를 사용하면 데이터프레임의 열 타입을 손쉽게 변환할 수 있습니다. 이를 통해 데이터 처리 과정에서 타입 관련 문제를 해결하거나, 데이터의 타입을 분석 목적에 맞게 조정할 수 있습니다. 데이터 처리나 분석 작업에 사용되는 pandas의 astype 메소드는 데이터 처리의 효율성과 정확성을 높이는데 도움을 줄 것입니다.