NumPy [Numerical Python]
- ๋ฐฐ์ด ์์
์ ์ฌ์ฉ๋๋ Python๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ค
- ์ ํ ๋์ํ, ํธ๋ฆฌ์ ๋ณํ ๋ฐ ํ๋ ฌ ์์ญ์์ ์์
ํ๊ธฐ ์ํ ๊ธฐ๋ฅ๋ ์๋ค
- ์ซ์ ํ์ด์ฌ์ ์๋ฏธํ๋ค
- List๋ ์ฒ๋ฆฌ ์๋๊ฐ ๋๋ ค์ ์ต๋ 50๋ฐฐ ๋น ๋ฅธ ๋ฐฐ์ด ๊ฐ์ฑ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค
์ค์น pip install numpy
import numpy as np #๋ณ์นญ np
์ฌ๋ผ์ด์ฑ
์ธ๋ฑ์ค์์๋ฅผ ๊ฐ์ ธ์ค๋๊ฒ์ ์๋ฏธํ๋ค. ๋ผ์คํธ์ธ๋ฑ์ค ๋ฏธํฌํจ
Arr = np.array([1,2,3,4,5,6,7])
print(Arr[1:5])
Numpy์ ๋ฐ์ดํฐ ์ ํ
i - ์ ์
b - ๋ถ์ธ
u - ๋ถํธ ์๋ ์ ์
c - float
m - timedelta
M - datetime
O - object
S - string
U - unicode string
V - ๋ค๋ฅธ ์ ํ์ ๋ํ ๊ณ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ฉ์ด๋ฆฌ(fixed chunk of memory for void)
ex)
๋ฐ์ดํฐ ์ ํ์ด 4๋ฐ์ดํธ ์ ์์ธ ๋ฐฐ์ด์ ๋ง๋ ๋ค
fo = np.array([1,2,3,4], dtype = 'i4')
print(fo)
print(fo.dtype)
๋ฐฐ์ด์ ๋ฐ์ดํฐ ์ ํ ํ์ธ
.dtype
arr3 = np.array(['apple','banana','cherry'])
print(arr3.dtype)
๊ธฐ์กด array์ ๋ฐ์ดํฐ ์ ํ ๋ณํ
- astype()ํจ์๋ ๋ฐ์ดํฐ์ ํ ํ์
์ ๋ฐ๊ฟ์ค๋ค
down = np.array([1.1, 2.1, 3.1])
newarr = down.astype('i')
print(newarr)
์ซ์๋ฅผ ๋ถ์ธ๋ก ๋ณ๊ฒฝ
bol = np.array([1,0,3]) #0 F 1 T
newbol = bol.astype(bool)
print(newbol)
๋ฐฐ์ด ๋ณต์ฌ[์ ๋ฐฐ์ด]์ ๋ณด๊ธฐ[์๋ณธ๋ฐฐ์ด]
๋ณต์ฌ๋ณธ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ๋ณต์ฌ๋ณธ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ ์๋๋ฐฐ์ด์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์๋๋ฐฐ์ด์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ์ ๋ณต์ฌ๋ณธ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค
๋ทฐ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ง ์๊ณ ๋ทฐ์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ์๋ณธarray์ ์ํฅ์ ๋ฏธ์น๊ณ ์๋ณธ array์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ view์ ์ํฅ์ ๋ฏธ์น๋ค
Copy = np.array([1,2,3,4,5])
view = Copy.copy()
Copy[0] = 42
print(Copy)
print(view)
Shape
๋ฐฐ์ด์ ๋ชจ์์ ๊ฐ์ฐจ์์ ์์์
NumPy ๋ฐฐ์ด์๋ ํด๋น ์์์ ์๋ฅผ ๊ฐ๋ ๊ฐ ์ธ๋ฑ์ค๊ฐ ์๋ ํํ์ ๋ฆฌํดํ๋ค
์๋์ ์์ : ๋ฐฐ์ด์ 2์ฐจ์์ด ์์์ ์๋ฏธํฉ๋๋ค
Depth = np.array([[1,2,3,4],[1,2,3,4]])
์ฒซ๋ฒ์งธ ์ฐจ์์๋ 2๊ฐ์ ์์๊ฐ ์๊ณ ๋๋ฒ์งธ ์ฐจ์์๋ 4๊ฐ์ ์์๊ฐ ์๋ค
Reshape (๋ฐฐ์ด์ ์ฌ๊ตฌ์ฑ)
- ๋ฐฐ์ด์ ๋ชจ์์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋ฏธํ๋ค
์๋์ 12๊ฐ์ ์์๊ฐ ์๋ ๋ค์ 1์ฐจ์ ๋ฐฐ์ด์ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ณํํ๋ค
Dimension = np.array([1,2,3,4,5,6,7,8,9,10,11,12])
custom = Dimension.reshape(4,3)
Dimension.reshape(2,3,2)
Flattening the arrays ๋ฐฐ์ด ํ๋ฉดํ
- ๋ฐฐ์ด์ ๋ณํฉํ๋ค๋ ๋ง์ ๋ค์ฐจ์ ๋ฐฐ์ด์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ณํํ๋ ๊ฒ์ ์๋ฏธํ๋ค
= reshape(-1)
all = np.array([[1,2,3],[4,5,6],[7,8,9]])
merge = all.reshape(-1)
๋ฐฐ์ด ๊ฒ์
- ํน์ ๊ฐ์ ๊ฒ์ํ๊ณ ์ผ์นํ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ ์ ์๋ค where() ์๋์ ์์์์๋ ๊ฐ์ด 4์ธ ์ซ์๋ฅผ ๊ฒ์
(์ธ๋ฑ์ค๊ฐ ์ถ๋ ฅ๋๋ค)
find = np.array([1,2,3,4,5,4,4])
np.where(find == 4)
#๊ฐ์ด ์ง์์ธ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์ต๋๋ค
twon = np.array([1,2,3,4,5,6,7,8])
np.where(twon%2==0)
#๊ฐ์ด ํ์์ธ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์ต๋๋ค
one = np.array([1,2,3,4,5,6,7,8])
np.where(one%2==1)
๋ฐฐ์ด ์ ๋ ฌ
- ์์๋ฅผ ์์๋๋ก ๋ฐฐ์นํ๋ ๊ฒ์ ์๋ฏธํ๋ค sort()
twoarr = np.array([[3,2,4],[5,0,1]]) #์ฐจ์์ ๋ฐ๊พธ์ง ์๊ณ ์ฐจ์ ์์ ์๋ ์์ ์ ๋ ฌ
print(np.sort(twoarr))
๋ฐฐ์ด ํํฐ
- ๊ธฐ์กด ๋ฐฐ์ด์์ ์ผ๋ถ ์์๋ฅผ ๊ฐ์ ธ์ ์ ๋ฐฐ์ด์ ๋ง๋๋ ๊ฒ์ ํํฐ๋ง์ด๋ผ๊ณ ํฉ๋๋ค
- ์ธ๋ฑ์ค 0๊ณผ 2์ ์์๋ก ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค
tf = np.array([41, 42, 43, 44])
Null = [True, False, True, False]
notnull = tf[Null]
print(notnull)
# ์๋ ๋ฐฐ์ด์์ ์ง์์์๋ง ๋ฐํํ๋ ํํฐ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค
qq = np.array([1,2,3,4,5,6,7]) #๋ฐฐ์ด ์ด๊ธฐํ
filter_arr = [] #๋น์ด์ ธ ์๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ฆ
for element in qq :
if element %2 ==0 :
filter_arr.append(True)
else:
filter_arr.append(False)
newa = qq[filter_arr]
print(filter_arr)
print(newa)
'Python > Python Language' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Numpy(๋ํ์ด) ๋์(Random)์ ๋ถํฌ๋ (0) | 2024.04.24 |
---|---|
NumPy ๋๊ท๋ชจ ๋ฐ์ดํฐ ๋ฐฐ์ด์ ํจ์จ์ ์ธ UFUNC ํจ์ ๊ฐ๋ (0) | 2024.04.24 |
๋๋ค(Lambda) : ์ต๋ช ํจ์ ๊ฐ๋ ์ค๋ช (0) | 2024.04.24 |
์ ๊ท์ ํจ์ (Python RegEx) (0) | 2024.04.24 |
ํ์ด์ฌ Datetime ํฌ๋งท ๊ฐ์ด๋: strftime ์ฝ๋ ์์์ ์ค๋ช (2) | 2024.04.24 |