반응형
numpy 워드 카운트 후 내림차순, 올림차순 정렬 (unique, argsort)
패키지 불러오기
import numpy as np
예시 데이터 생성
sample = [
"apple", "apple", "apple", "banana", "banana", "melon", "peach", "peach", "peach", "peach", "peach"
]
unique 값 추출
# numpy.unique 매서드 활용
unique_value = np.unique(sample)
print(unique_value)
# out : ['apple' 'banana' 'melon' 'peach']
unique 값 별 카운팅 결과 도출
# return_counts=True 옵션 활용
unique, count = np.unique(sample, return_counts=True)
print(unique)
print(count)
# out : ['apple' 'banana' 'melon' 'peach']
# [3 2 1 5]
오름차순 정렬
# argsort 메서드를 활용하여 워드 카운트별 오름차순 위치 반환
sort_idx = list(np.argsort(count))
print(sort_idx)
# out : [2, 1, 0, 3]
# sample 내 워드를 카운트 오름차순으로 정렬
words_sort = unique[sort_idx]
print(words_sort)
# 'melon' 개수가 가장 적고 'peach' 개수가 가장 많음
# out : ['melon' 'banana' 'apple' 'peach']
내림차순 정렬
# argsort 메서드를 활용하여 워드 카운트별 오름차순 위치 반환
sort_idx = list(np.argsort(count))
#[::-1] 슬라이싱을 통해 위치를 내림차순으로 반환
sort_idx = sort_idx[::-1]
print(sort_idx)
# out : [3, 0, 1, 2]
# sample 내 워드를 카운트 내림차순으로 정렬
words_sort = unique[sort_idx]
print(words_sort)
# 'peach' 개수가 가장 많고 'melon' 개수가 가장 적음
# out : ['peach' 'apple' 'banana' 'melon']
코드 전체
import numpy as np
sample = [
"apple", "apple", "apple", "banana", "banana", "melon", "peach", "peach", "peach", "peach", "peach"
]
# numpy.unique 매서드 활용
unique_value = np.unique(sample)
print(unique_value)
# out : ['apple' 'banana' 'melon' 'peach']
# return_counts=True 옵션 활용
unique, count = np.unique(sample, return_counts=True)
print(unique)
print(count)
# out : ['apple' 'banana' 'melon' 'peach']
# [3 2 1 5]
# argsort 메서드를 활용하여 워드 카운트별 오름차순 위치 반환
sort_idx = list(np.argsort(count))
print(sort_idx)
# out : [2, 1, 0, 3]
# sample 내 워드를 카운트 오름차순으로 정렬
words_sort = unique[sort_idx]
print(words_sort)
# 'melon' 개수가 가장 적고 'peach' 개수가 가장 많음
# out : ['melon' 'banana' 'apple' 'peach']
# argsort 메서드를 활용하여 워드 카운트별 오름차순 위치 반환
sort_idx = list(np.argsort(count))
#[::-1] 슬라이싱을 통해 위치를 내림차순으로 반환
sort_idx = sort_idx[::-1]
print(sort_idx)
# out : [3, 0, 1, 2]
# sample 내 워드를 카운트 내림차순으로 정렬
words_sort = unique[sort_idx]
print(words_sort)
# 'peach' 개수가 가장 많고 'melon' 개수가 가장 적음
# out : ['peach' 'apple' 'banana' 'melon']
반응형
'python' 카테고리의 다른 글
판다스 요약(describe) 판다스 정보(info) 판다스 컬럼보기(columns) 판다스 타입보기(dtype) (0) | 2023.04.29 |
---|---|
파이썬 랜덤 이름 생성하기names (0) | 2023.04.29 |
yolov5 사용해보기 (0) | 2023.04.27 |
객체 class 매직 키워드 init, repr, str, python 파이썬 (0) | 2023.04.26 |
인덱스가 1부터 시작하는 데이터 프레임 생성 (0) | 2023.04.26 |
댓글