[파이썬] pandas에서 데이터 타입 변환

데이터 타입 변환의 필요성

데이터 분석을 수행할 때, 각 열의 데이터 타입을 올바르게 설정하는 것이 중요합니다. 잘못된 데이터 타입으로 인해 계산 오류가 발생하거나, 연산 결과가 예상과 다를 수 있습니다. 따라서 데이터를 불러온 후에는 데이터 타입을 확인하고 필요에 따라 변환을 해주어야 합니다.

데이터 타입 확인

데이터 프레임의 열의 데이터 타입을 확인하기 위해서는 dtypes 속성을 사용합니다. 다음은 예제 데이터셋의 데이터 타입을 확인하는 코드입니다.

import pandas as pd

df = pd.read_csv('data.csv')
print(df.dtypes)

출력 결과는 각 열의 데이터 타입을 보여줍니다. 예를 들어, 정수 값을 가진 열은 int64로 표시되며, 실수 값을 가진 열은 float64로 표시됩니다.

데이터 타입 변환

pandas는 다양한 데이터 타입을 지원하며, astype() 메서드를 사용하여 열의 데이터 타입을 변환할 수 있습니다. 다음은 int64에서 int32로 데이터 타입을 변환하는 예제 코드입니다.

df['column_name'] = df['column_name'].astype('int32')

astype() 메서드는 원본 데이터 프레임을 수정하지 않고 새로운 데이터 프레임을 반환합니다. 따라서 변환된 데이터를 원래 데이터 프레임에 적용하기 위해서는 할당 연산자(=)를 사용하여 열을 재할당해야 합니다.

문자열을 숫자로 변환

일부 열은 문자열 데이터로 저장되어 있을 수 있습니다. 예를 들어, 금액을 나타내는 열이 문자열 형식으로 저장되어 있다면 계산 작업에서 문제가 발생할 수 있습니다. 이런 경우 문자열을 숫자로 변환할 필요가 있습니다. pandasto_numeric() 함수를 사용하여 문자열을 숫자로 변환할 수 있습니다.

df['column_name'] = pd.to_numeric(df['column_name'], errors='coerce')

위 예제에서 to_numeric() 함수는 column_name 열의 값을 숫자로 변환한 결과를 반환합니다. errors 매개변수를 coerce로 설정하면 숫자로 변환할 수 없는 값은 NaN으로 처리됩니다.

결론

이 포스트에서는 pandas를 사용하여 데이터 프레임의 데이터 타입을 변환하는 방법에 대해 알아보았습니다. 데이터 타입을 올바르게 설정하는 것은 데이터 분석 및 처리 작업에서 중요한 요소입니다. pandasastype() 메서드와 to_numeric() 함수를 활용하여 데이터 타입 변환 작업을 수행할 수 있습니다. 데이터 타입 변환이 필요한 경우, 적절한 메서드나 함수를 사용하여 데이터를 올바른 형식으로 변환하는 것을 권장합니다.