파이썬으로 배우는 데이터 분석: NumPy - 데이터 정렬

2022. 4. 1. 01:25·프로젝트/코드프레소 체험단

NumPy는 ndarray 내 저장된 데이터의 정렬을 위한 함수를 제공한다.

 

np.sort(array)

 - 기본적으로 오름차순 정렬만 지원함

 - 정렬된 결과를 반환하지만, 원본 데이터는 변경하지 않음

 - 원본 데이터를 변경하려면 호출 순서를 다음과 같이 작성하면 됨

 - array.sort(): 원본 데이터를 변경하고 none 값을 반환

 - np.sort()를 활용한 내림차순 정렬

1) np.sort()를 통해 오름차순 정렬하여 저장

2) 오름차순 정렬된 배열을 역순으로 출력: array[::-1]

 

 

np.sort(array, axis)

 - 기본적으로 1차원 정렬과 동일함

 - 2차원 데이터의 정렬 시에는, axis를 통해 집계 방향을 결정함

 

 

np.argsort(array)

 - 입력된 배열을 오름차순으로 정렬한 뒤, 배열의 인덱스 값만 반환하는 함수

 

 

import numpy as np

# 샘플 데이터 생성
sample = np.array([2,5,8,1])
print('1D-Array Sample')
print(sample)

# np.sort() 정렬
result = np.sort(sample)
print('\nResult of np.sort')
print('Result :', result)
print('Original :', sample)

# [::-1] 실습
print('\nTest[::-1] ')
print('Original :', sample)
print('Result :',  sample[::-1])

# 내림차순 정렬
sort_arr = np.sort(sample)
result = sort_arr[::-1]
print('\nDcending Order')
print('Dcending :', result)

# 샘플 데이터 생성
sample = np.array([[9,11],[5,1]])
print('\n2D-Array Sample')
print(sample)

# 2차원 배열 정렬 by axis=0
result = np.sort(sample, axis=0)
print('\nnp.sort(axis=0) :')
print(result)

# 2차원 배열 정렬 by axis=1
result = np.sort(sample, axis=1)
print('\nnp.sort(axis=1) :')
print(result)

# 샘플 데이터 생성
name = np.array(['John','Samuel','Kate','Mike','Sarah'])
score = np.array([78,84,96,88,82])

# np.argsort() 통해 정렬된 인덱스 값만 반환
sort_indexes = np.argsort(score)
print('\nnp.argsort()')
print('sort indexes :', sort_indexes)

# 인덱스 값을 통해 컬럼명 조회
print('sort values :', name[sort_indexes])
1D-Array Sample
[2 5 8 1]
Result of np.sort
Result : [1 2 5 8]
Original : [2 5 8 1]
Test[::-1]
Original : [2 5 8 1]
Result : [1 8 5 2]
Dcending Order
Dcending : [8 5 2 1]
2D-Array Sample
[[ 9 11]
[ 5 1]]
np.sort(axis=0) :
[[ 5 1]
[ 9 11]]
np.sort(axis=1) :
[[ 9 11]
[ 1 5]]
np.argsort()
sort indexes : [0 4 1 3 2]
sort values : ['John' 'Sarah' 'Samuel' 'Mike' 'Kate']

 

 

 

'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글

파이썬으로 배우는 데이터 분석: Pandas - Series  (0) 2022.04.02
파이썬으로 배우는 데이터 분석: Pandas - Pandas 라이브러리 소개  (0) 2022.04.01
파이썬으로 배우는 데이터 분석: NumPy - 데이터 조회  (0) 2022.04.01
파이썬으로 배우는 데이터 분석: NumPy - NumPy의 집계함수  (0) 2022.04.01
파이썬으로 배우는 데이터 분석: NumPy - NumPy의 기본 연산  (0) 2022.04.01
'프로젝트/코드프레소 체험단' 카테고리의 다른 글
  • 파이썬으로 배우는 데이터 분석: Pandas - Series
  • 파이썬으로 배우는 데이터 분석: Pandas - Pandas 라이브러리 소개
  • 파이썬으로 배우는 데이터 분석: NumPy - 데이터 조회
  • 파이썬으로 배우는 데이터 분석: NumPy - NumPy의 집계함수
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (576)
      • 혼잣말 (88)
      • TIL (3)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (169)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (40)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    크래프톤정글
    RNN
    머신러닝
    Pint OS
    JavaScript
    리액트
    나만무
    블록체인
    OS
    센디
    pintos
    핀토스
    자바스크립트
    코드프레소
    알고리즘
    니어프로토콜
    MailBadara
    NEAR Protocol
    사이드프로젝트
    numpy
    docker
    글리치해커톤
    해커톤
    부산대
    파이썬
    딥러닝
    react
    졸업과제
    Flutter
    프로그래머스
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
파이썬으로 배우는 데이터 분석: NumPy - 데이터 정렬
상단으로

티스토리툴바