반응형
[파이썬, python] numpy 워드 카운트 후 내림차순, 올림차순 정렬 (unique, argsort)¶
- unique : 리스트 내 고유값을 반환하는 넘파이 함수
- return_count 옵션 : True로 지정할 경우 각 고유값 내 카운트 값을 반환함
- 코드 형식 : np.unique(list, return_counts=True)
In [1]:
# 샘플데이터 생성
import numpy as np
sample = ["apple", "apple", "apple", "banana", "banana", "melon", "peach", "peach", "peach", "peach", "peach"]
In [2]:
# 옵션 지정 없이 unique 함수를 사용한 경우
np.unique(sample)
Out[2]:
array(['apple', 'banana', 'melon', 'peach'], dtype='<U6')
In [3]:
# return_counts=Ture 옵션 값을 설정한 경우
unique, count = np.unique(sample, return_counts=True)
print("리스트 내 나열 순")
for u, c in zip(unique, count):
print(u +"("+str(c)+")", end=" ")
리스트 내 나열 순 apple(3) banana(2) melon(1) peach(5)
- argsort : 어레이 내 값을 오름차순으로 하는 위치를 반환함
In [4]:
sample2 = [3, 1, 2]
list(np.argsort(sample2))
Out[4]:
[1, 2, 0]
In [5]:
# np.argsort를 활용하여 카운드 값을 기준으로 단어 나열하기
idx = np.argsort(count) # count 값의 오름차순으로 하는 위치 반환
unique[idx] # count 값을 기준으로 unique 단어를 오름차순으로 반환
Out[5]:
array(['melon', 'banana', 'apple', 'peach'], dtype='<U6')
In [6]:
print("count 기준 오름차순")
for u, c in zip(unique[idx], count[idx]):
print(u +"("+str(c)+")", end=" ")
count 기준 오름차순 melon(1) banana(2) apple(3) peach(5)
In [7]:
unique[idx[::-1]] # count 값을 기준으로 unique 단어를 내림차순으로 반환
Out[7]:
array(['peach', 'apple', 'banana', 'melon'], dtype='<U6')
In [8]:
print("count 기준 내림차순")
for u, c in zip(unique[idx[::-1]], count[idx[::-1]]):
print(u +"("+str(c)+")", end=" ")
count 기준 내림차순 peach(5) apple(3) banana(2) melon(1)
반응형
'python' 카테고리의 다른 글
판다스 컬럼을 인덱스화 하기 (파이썬) (0) | 2023.01.04 |
---|---|
파이썬 판다스를 이용하여 날짜 열 인덱스로 만들기(pandas) (0) | 2023.01.04 |
파이썬으로 썸네일 이미지 만들기 (pillow thumbnail) (0) | 2022.12.29 |
파이썬 넘파이 랜덤 숫자 생성 (0) | 2022.12.28 |
파이썬 보스톤 집값 데이터 불러오기 sklearn.datasets, load_boston (0) | 2022.12.27 |
댓글