판다스의 Index는 DataFrame, Series의 레코드(행)을 고유하게 식별하는 객체이다.
import pandas as pd
# 타이타닉 데이터 파일 불러오기
titanic_df = pd.read_csv('train.csv')
# Index 객체를 indexes 변수에 저장
indexes = titanic_df.index
print('Index 객체:', indexes)
print('Index 객체 array 값: \n', indexes.values)
실행 결과
Index 객체는 ndarray와 유사하게 슬라이싱이 가능하지만, 레코드를 구별하는 고유값이기 때문에 수정은 할 수 없다.
print(type(indexes.values))
print(indexes.values.shape)
print(indexes[:5].values)
print(indexes.values[:5])
print(indexes[6])
실행 결과
# 아래와 같이 인덱스 객체의 값을 수정하면 오류가 발생한다.
indexes[1] = 7
DataFrame이나 Serires에 reset_index() 메서드를 수행하면 새 인덱스가 할당되며 기존 인덱스가 'index'라는 새로운 열에 추가된다. 만약 'index'열이 새로 생성되지 않게 하려면 drop=True를 괄호 안에 넣어주면 된다.
# default 값이 drop=False이므로 index열을 새로 생성함
titanic_reset_df = titanic_df.reset_index(inplace=False)
titanic_reset_df.head(3)
실행 결과
# drop=True로 index 열을 새로 생성하지 않음
reset_index_df = titanic_df.reset_index(drop=True, inplace=False)
reset_index_df.head(3)
실행 결과
reset_index() 메서드는 주로 인덱스가 연속된 숫자형 데이터가 아닐 경우에 인덱스를 다시 만들어주기 위해 사용된다.
'머신러닝(MachineLearning) > 판다스(Pandas)' 카테고리의 다른 글
DataFrame 결손 값 처리하기, apply lambda (0) | 2022.07.14 |
---|---|
DataFrame의 정렬, Aggregation, groupby (0) | 2022.07.13 |
DataFrame에서 원하는 데이터 추출하기 (0) | 2022.07.08 |
DataFrame 데이터셋 수정하기 (0) | 2022.06.26 |
DataFrame으로 데이터 불러오기 (0) | 2022.06.24 |