[Python] nlargest, nsmallest, between, rank 메소드로 판다스 숫자열 편하게 다루기

전도운·2024년 8월 5일
0
post-custom-banner

파이썬은 원하는 메소드를 . 을 이용해 이어붙여 데이터를 편하게 가공할 수 있는 장점이 있으나 이 경우 시스템 구동 속도 등 효율성이 저하되는 문제가 생길 수 있다. 몇 가지 작업을 한 번에 수행할 수 있는 메소드를 통해 작업 효율성을 높여보자.

  • nlargest(n, keep, columns)

    • 칼럼의 값 중 가장 큰 n개의 수가 포함된 데이터를 반환한다.

    • 사용 예시

      df.nlargest(n = 5, keep = 'first', columns = 'fare')
      
       # n : 추출하고 싶은 상위 숫자의 갯수
       # keep : 중복 데이터가 있어 n개를 초과할 경우 남길 데이터(['first', 'last', 'all'])
       # columns : 기준 칼럼
  • nsmallest(n, keep, columns)

    • 칼럼의 값 중 가장 작은 n개의 수가 포함된 데이터를 반환한다.

    • 사용 예시

      df.nsmallest(n = 5, keep = 'first', columns = 'fare')
      
       # n : 추출하고 싶은 하위 숫자의 갯수
       # keep : 중복 데이터가 있어 n개를 초과할 경우 남길 데이터(['first', 'last', 'all'])
       # columns : 기준 칼럼
  • between(left, right, inclusive)

    • 칼럼의 값 중 특정 범위에 포함된 데이터의 인덱스를 반환한다.
    • 사용 예시
      df.loc[df.fare.between(left = 200, right = 400, inclusive='both')]
      
       # left, right : 왼쪽, 오른쪽 한계
       # inclusive : 각 한계점을 포함할 지 여부(['both', 'neither', 'left', 'right'])
  • rank(ascending, method, pct)

    • 값의 순위를 반환한다.
    • 사용 예시
       df['fare_rank'] = df.fare.rank(ascending = False, method = 'min', pct = True)
      
        # ascending : True일 경우 작은 수가 False일 경우 큰 수가 상위랭크
        # method : 동일순위인 경우 처리방법, 'min'이 일반적(['average', 'min', 'max', 'first', 'dense'])
        # pct : True인 경우 누적비율로 순위를 표현함
profile
의미 있는 한걸음을 추구합니다.
post-custom-banner

0개의 댓글