250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] NumPy๋ฅผ ์ด์šฉํ•œ ํ–‰๋ ฌ์˜ ์ •๋ ฌ ๋ณธ๋ฌธ

๐Ÿ Python/NumPy

[Python] NumPy๋ฅผ ์ด์šฉํ•œ ํ–‰๋ ฌ์˜ ์ •๋ ฌ

ใ…… ใ…œ ใ…” ใ…‡ 2022. 2. 6. 14:57
728x90

๋„˜ํŒŒ์ด๋ฅผ ์ด์šฉํ•œ ํ–‰๋ ฌ ์ •๋ ฌ ๋ฐฉ๋ฒ•์€ ๋„˜ํŒŒ์ด์—์„œ sort()๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹๊ณผ ํ–‰๋ ฌ์ž์ฒด์—์„œ sort()๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋‹ค. 

 

np.sort() => ๋„˜ํŒŒ์ด์—์„œ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์› ํ–‰๋ ฌ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„ ์› ํ–‰๋ ฌ์˜ ์ •๋ ฌ๋œ ํ–‰๋ ฌ ๋ฐ˜ํ™˜

ndarray.sort() => ์› ํ–‰๋ ฌ ์ž์ฒด๋ฅผ ์ •๋ ฌํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉฐ ๋ฐ˜ํ™˜ ๊ฐ’์€ None

 

org_array = np.array([3,1,9,5])
print('์›๋ณธ ํ–‰๋ ฌ :',org_array)

#np.sort๋กœ ์ •๋ ฌ
sort_array1 = sort_array1 = np.sort(org_array)
print('np.sort() ํ˜ธ์ถœ ํ›„ ๋ฐ˜ํ™˜๋œ ์ •๋ ฌ ํ–‰๋ ฌ :',sort_array1)
print('np.sort() ํ˜ธ์ถœ ํ›„ ์›๋ณธ ํ–‰๋ ฌ : ',org_array)

#ndarray.sort๋กœ ์ •๋ ฌ
sort_array2 = org_array.sort()
print('org_array.sort() ํ˜ธ์ถœ ํ›„ ๋ฐ˜ํ™˜๋œ ํ–‰๋ ฌ : ',sort_array2)
print('org_array.sort() ํ˜ธ์ถœ ํ›„ ์›Œ๋…ผ ํ–‰๋ ฌ :',org_array)

#output
์›๋ณธ ํ–‰๋ ฌ : [3 1 9 5]
np.sort() ํ˜ธ์ถœ ํ›„ ๋ฐ˜ํ™˜๋œ ์ •๋ ฌ ํ–‰๋ ฌ : [1 3 5 9]
np.sort() ํ˜ธ์ถœ ํ›„ ์›๋ณธ ํ–‰๋ ฌ :  [3 1 9 5]
org_array.sort() ํ˜ธ์ถœ ํ›„ ๋ฐ˜ํ™˜๋œ ํ–‰๋ ฌ :  None
org_array.sort() ํ˜ธ์ถœ ํ›„ ์›Œ๋…ผ ํ–‰๋ ฌ : [1 3 5 9]

 

- ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

sort_array1_desc = np.sort(org_array)[::-1]
print('๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ :',sort_array1_desc)

 

-ํ–‰๋ ฌ์ด 2์ฐจ์› ์ด์ƒ์ด๋ฉด axis์ถ• ๊ฐ’ ์„ค์ •์„ ํ†ตํ•ด ๋กœ์šฐ, ์นผ๋Ÿผ ๋ฐฉํ–ฅ์œผ๋กœ ์ •๋ ฌ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ

array2d = np.array([[8,12],[7,1]])
sort_array2d_axis0 = np.sort(array2d,axis=0)
print('๋กœ์šฐ ๋ฐฉํ–ฅ์œผ๋กœ ์ •๋ ฌ : \n',sort_array2d_axis0)

sort_array2d_axis1 = np.sort(array2d,axis=1)
print('์นผ๋Ÿผ ๋ฐฉํ–ฅ์œผ๋กœ ์ •๋ ฌ : \n',sort_array2d_axis1)

 

-์ •๋ ฌ๋œ ํ–‰๋ ฌ์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜

org_array = np.array([3,1,9,5])
sort_indices = np.argsort(org_array)
print(type(sort_indices))
print('ํ–‰๋ ฌ ์ •๋ ฌ ์‹œ ์›๋ณธ ํ–‰๋ ฌ์˜ ์ธ๋ฑ์Šค :',sort_indices)

np.argsort()๋Š” ์ •๋ ฌ ํ–‰๋ ฌ์˜ ์›๋ณธ ํ–‰๋ ฌ ์ธ๋ฑ์Šค๋ฅผ ndarrayํ˜•์œผ๋กœ ๋ฐ˜ํ™˜

 

-๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ์‹œ์˜ ์›๋ณธ ํ–‰๋ ฌ ์ธ๋ฑ์Šค

org_array = np.array([3,1,9,5])
sort_indices_desc = np.argsort(org_array)[::-1]
print('ํ–‰๋ ฌ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ ์‹œ ์›๋ณธ ํ–‰๋ ฌ์˜ ์ธ๋ฑ์Šค :',sort_indices_desc)

 

-์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ์‹œ์˜ ์›๋ณธ ํ–‰๋ ฌ ์ธ๋ฑ์Šค

name_array = np.array(['John','Mike','Sarah','Kate','Samuel'])
score_array = np.array([78,95,84,98,88])

sort_indices_asc = np.argsort(score_array)
print('์„ฑ์  ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ์‹œ score_array์˜ ์ธ๋ฑ์Šค : ',sort_indices_asc)
print('์„ฑ์  ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ name_array์˜ ์ด๋ฆ„ ์ถœ๋ ฅ : ',name_array[sort_indices_asc])

 

- ์„ ํ˜•๋Œ€์ˆ˜ ์—ฐ์‚ฐ -> ํ–‰๋ ฌ ๋‚ด์  ๊ตฌํ•˜๊ธฐ(ํ–‰๋ ฌ์˜ ๊ณฑ)

A = np.array([[1,2,3],[4,5,6]])
B = np.array([[7,8],[9,10],[11,12]])

dot_product = np.dot(A,B)
print('ํ–‰๋ ฌ ๋‚ด์  ๊ฒฐ๊ณผ:\n',dot_product)

 

- ์„ ํ˜•๋Œ€์ˆ˜ ์—ฐ์‚ฐ -> ์ „์น˜ํ–‰๋ ฌ ๊ตฌํ•˜๊ธฐ

A = np.array([[1,2],[3,4]])
transpose_mat = np.transpose(A)
print('A์˜ ์ „์น˜ ํ–‰๋ ฌ :\n',transpose_mat)

728x90

'๐Ÿ Python > NumPy' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] Numpy ๋‚œ์ˆ˜ ์ƒ์„ฑ (Random)  (0) 2022.08.25
[Python] np.linspace()ํ•จ์ˆ˜  (0) 2022.05.23
[Python] NumPy ์ธ๋ฑ์‹ฑ(Indexing)  (0) 2022.02.04
NumPy๋ž€?  (0) 2022.02.03
Comments