Software/Python

Pandas 데이터프레임에서 컬럼값을 행방향 기준으로 정렬한 순위 만들기 argmax, idxmax, argsort

PinkWink 2018. 5. 30. 08:00

오늘은 누구나 한 번쯤 Pandas 데이터 프레임으로 작업을 하다가 필요하게 되는 순간이 오는~^^ 그런 일이 참 많지만~ 그 중에 하나를 소개하려고 합니다. 즉, 

이렇게 구성된 표가 있는데... 우측 빈칸은 제일 큰 값을 가지는 컬럼의 값부터 순차적으로 입력하는 거죠.

이런 결과가 나오게 하고 싶은 겁니다.^^  먼저.. 최대값을 하나만 찾는 거라면 꽤 간단합니다.

연습용 데이터 하나 만들고~

바로 pandas의 idxmax()를 이용하면 됩니다. (이전 버전에서는 argmax()였습니다.) 컬럼 '신발'이 최대인 행의 값을 보여주고...

이렇게 하면 1순위라는 컬럼을 만들고 각 행방향 최대값을 넣을 수 있습니다.^^

처음 이야기한 것 처럼 아예 순위별로 다 입력해 두고 싶다면~^^ 다시 데이터를 만들고...

먼저 각 행별로 정렬을 해 둡니다. pandas의 apply 메소드를 이용해서, numpy의 argsort를 사용하면 됩니다.

짠~ 근데.. 작은것 부터 나타났네요.. 역순 정렬~~~

짠~.. 되었네요 ㅎㅎㅎ

이렇게 만들어 주면 됩니다. 어떤가요??? ㅎㅎ

반응형