Base/Python

[Python] Pandas 사용법 - 다양한 인덱스 함수(reset_index,set_index,sort_index)

반응형

 

# reset_index()

기존 행 인덱스를 제거하고 인덱스를 데이터 열 추가

DataFrame.reset_index(inplace=True,drop=True)
=> 원본의 인덱스를 대체한다.
inplace는 생략 가능하다. 

DataFrame.reset_index(inplace=False,drop=False)
=> 원본의 인덱스를 컬럼으로 만들고 인덱스를 생성한다.

새로운 인덱스를 할당하고, 기존 인덱스는 인덱스라는 새로운 칼럼명으로 추가

 

 

 

이 같은식으로 쓴다 inplace가 False 기 때문에 받는 변수를 지정해줘야 한다. 

만약 True로 한다면 원본데이터 변경되고 따로 지정은 안 해줘도 된다.

 

 

인덱스가 새로 생성 된 걸 볼 수 있다. 여기서 drop 옵션을 주면

기존의 인덱스였던 것을 drop 하고 새로 만들어진다.

 

 

리스트로 결과를 볼 수 있고

 

boolean indexing을 써서 해당하는 값을 가져올 수 도 있다.

 

 

 

다양한 방법으로 추출 할 수 있다.

 

 

ex)

 

 

 


-set_index

DataFrame.set_index('컬럼')

기존 행 인덱스를 제거하고 데이터 열 중 하나를 인덱스로 설정

 

위와 같은 프레임이 있었을때 col01을 인덱스 값으로 변경 하기 위해서는 

 

데이터 프레임.set_index('컬럼명') 을 통해 변경할 수 있다.

 

 

이렇게 된다.

 


# sort_index

index를 정렬한다.

정렬을 하기 전에 일단 랜덤으로 값을 뽑아서 가져온다.

 

 

 

 

 

 

 

여기까지 랜덤으로 데이터프레임을 만들었다. 

 

 

sort_index를 통해 해당 인덱스를 sort 한다. 여기서는 axis =1은 col 즉 칼럼을 sort 하고 ascending=False로 하면 내림차순이 된다.

 

 

이렇게 axis=0으로 할 경우에는 행에 대한 sort 를 해준다.

 

 

단 하나의 컬럼을 sort 하기 위해서는

 

웨이와 같이 by라고 하고 해당 칼럼을 지정해준다.

 

만약 같은 값에 대한 우선순위를 정하고 싶다면

 

 

이런 식으로 값을 두 개를 넣는다.

 

반응형