Pandas에서 데이터 타입(dtype)이 변환된 값을 가지는 인덱스를 생성하려면 index.astype() 메서드를 사용합니다. 이 메서드는 기존 인덱스의 각 요소를 지정한 자료형으로 캐스트(cast)하여 새로운 Index 객체를 반환합니다. 원본 인덱스는 변경되지 않습니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
실수(float) 값들을 포함하는 Pandas 인덱스를 생성합니다.
index = pd.Index([50.4, 10.2, 70.5, 110.5, 90.8, 50.6])
생성한 Pandas 인덱스를 출력해 확인합니다.
print("Pandas Index...\n", index)astype() 메서드를 사용해 인덱스의 자료형을 int64로 변환합니다.
index.astype('int64')예제
다음은 전체 코드입니다.
import pandas as pd
# Pandas 인덱스 생성
index = pd.Index([50.4, 10.2, 70.5, 110.5, 90.8, 50.6])
# Pandas 인덱스 출력
print("Pandas Index...\n", index)
# 인덱스에 포함된 요소 개수 반환
print("\nNumber of elements in the index...\n", index.size)
# 데이터의 dtype 객체 반환
print("\nThe dtype object...\n", index.dtype)
# 자료형을 int64로 변환
print("\nIndex object after converting type...\n", index.astype('int64'))출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index... Float64Index([50.4, 10.2, 70.5, 110.5, 90.8, 50.6], dtype='float64') Number of elements in the index... 6 The dtype object... float64 Index object after converting type... Int64Index([50, 10, 70, 110, 90, 50], dtype='int64')
주요 포인트 정리
astype() 메서드는 문자열 'int64', 'float64', 'object' 등 다양한 자료형을 지정할 수 있으며, 변환 시 소수점 이하 값은 잘려서(truncate) 정수로 처리됩니다. 위 예제에서도 50.4가 50으로, 110.5가 110으로 변환된 것을 확인할 수 있습니다. 또한 변환 결과는 새로운 Index 객체로 반환되므로, 필요하다면 변수에 할당하여 사용하면 됩니다.