์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ์ฃผ์ฑ๋ถ๋ถ์
- ์ค๋ฒ์ํ๋ง
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- numpy
- datascience
- ๋์ํ๋ณธ
- Lambda
- iloc
- DBSCAN
- ์ธ๋์ํ๋ง
- dataframe
- ํ ์คํธ๋ถ์
- ๋ฐ์ดํฐ๋ถ์
- t-test
- opencv
- pandas
- ์๋ํด๋ผ์ฐ๋
- ํฌ๋กค๋ง
- ๋น ๋ฐ์ดํฐ
- ADP
- Python
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- ๋ ๋ฆฝํ๋ณธ
- ๊ตฐ์งํ
- LDA
- ํ์ด์ฌ
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- ADsP
- PCA
Data Science LAB
NumPy๋? ๋ณธ๋ฌธ
NumPy ์๊ฐ
Numerical Python์ ์๋ฏธํ๋ฉฐ ํ์ด์ฌ์์ ์ ํ๋์ ๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ์ง์ํ๋ ๋ํ์ ์ธ ํจํค์ง์ด๋ค. ๋ค์ฐจ์์ ํ๋ ฌ๊ตฌ์กฐ์ธ ndarray๋ฅผ ์ง์ํ์ฌ ๋ฐฐ์ด์ ์ฝ๊ฒ ์์ฑํ๊ณ ๋ค์ํ ์ฐ์ฐ์ ์ํํ ์ ์๋ค.
๋ชจ๋ ์ํฌํธ
import numpy as np
as np๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ์ด๋ก ๋์ ํํํด ์ฃผ๋๊ฒ์ด ์ข์
array()
array1 = np.array([1,2,3])
print('array1 type : ',type(array1))
print("array1 ํํ : ",array1.shape)
#1์ฐจ์ array๋ก 3๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์
array2 = np.array([[1,2,3],
[2,3,4]])
print('array2 type : ',type(array2))
print("array2 ํํ : ",array2.shape)
#2์ฐจ์ array๋ก 2๊ฐ์ ๋ก์ฐ์ 3๊ฐ์ ์ปฌ๋ผ์ผ๋ก ์ด๋ฃจ์ด์ง
array3 = np.array([[1,2,3]])
print('array3 type : ',type(array3))
print("array3 ํํ : ",array3.shape)
#1๊ฐ์ ๋ก์ฐ์ 3๊ฐ์ ์ปฌ๋ผ์ผ๋ก ์ด๋ฃจ์ด์ง 2์ฐจ์๋ฐ์ดํฐ์
[1,2,3] -> 1์ฐจ์ ๋ฐ์ดํฐ
[[1,2,3]] -> 2์ฐจ์ ๋ฐ์ดํฐ
#๊ฐ array์ ์ฐจ์ ํ์ธ
print("array1 : {:0}์ฐจ์".format(array1.ndim))
print("array2 : {:1}์ฐจ์".format(array2.ndim))
print("array3 : {:2}์ฐจ์".format(array3.ndim))
#output
array1 : 1์ฐจ์
array2 : 2์ฐจ์
array3 : 2์ฐจ์
๋ฐ์ดํฐ์ ๊ฑด์๋ ๊ฐ์ง๋ง ์ฐจ์์ด ๋ค๋ฆ
#ndarray๋ด์๋ ์๋ก ๊ฐ์ ๋ฐ์ดํฐ ํ์
๋ง ๊ฐ๋ฅ
#๋ฆฌ์คํธ๋ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์
์ ๊ฐ์ง ์ ์์
#๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ์ด ์์ฌ ์๋ ๋ฆฌ์คํธ๋ฅผ ndarray๋ก ๋ณ๊ฒฝํ๋ฉด ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ๋ ํฐ ๋ฐ์ดํฐ ํ์
์ผ๋ก ํ ๋ณํ์ ์ผ๊ด ์ ์ฉ
list1 = [1,2,'test']
array1 = np.array(list1)
print(array1,array1.dtype)
list2 = [1,2,3.0]
array2 = np.array(list2)
print(array2,array2.dtype)
#output
['1' '2' 'test'] <U11
[1. 2. 3.] float64
intํ์ด ์ ๋์ฝ๋ ๋ฌธ์์ด ๊ฐ์ผ๋ก ๋ณํ
intํ๊ณผ floatํ์ด ์์ฌ์๋ ๊ฒฝ์ฐ๋ float64ํ์ผ๋ก ๋ณํ
arange()
sequence_array = np.arange(10)
print(sequence_array)
print(sequence_array.dtype,sequence_array.shape)
arange()๋ 0๋ถํฐ ํจ์ ์ธ์ ๊ฐ -1๊น์ง์ ๊ฐ์ ์์ฐจ์ ์ผ๋ก ndaarry์ ๋ฐ์ดํฐ๊ฐ์ผ๋ก ๋ณํ
zeros()
zero_array = np.zeros((3,2),dtype = 'int32')
print(zero_array)
print(zero_array.dtype,zero_array.shape)
one_array = np.ones((3,2))
print(one_array)
print(one_array.dtype,one_array.shape)
zeros() ํจ์๋ ํํํํ์ shape๊ฐ์ ์ ๋ ฅํ๋ฉด ๋ชจ๋ ๊ฐ์ 0์ผ๋ก ์ฑ์ด ํด๋น shape์ ๊ฐ์ง ndarray๋ก ๋ณํ
default๋ float64ํ์ ๋ฐ์ดํฐ
reshape()
array1 = np.arange(10)
print('array1:\n',array1)
array2 = array1.reshape(2,5)
print('array2:\n',array2)
array3 = array1.reshape(5,2)
print('array3:\n',array3)
reshape()๋ ndarray๋ฅผ ํน์ ์ฐจ์ ๋ฐ ํฌ๊ธฐ๋ก ๋ณํ
1์ฐจ์์ธ ndarray๋ฅผ 2*5์ 5*2๋ก ๋ณํํด์ค
array1.reshape(4,3)
์ง์ ๋ ์ฌ์ด์ฆ๋ก ๋ณํ์ด ๋ถ๊ฐ๋ฅํ๋ฉด ์ค๋ฅ ๋ฐ์
array1 = np.arange(10)
print(array1)
array2 = array1.reshape(-1,5)
print('array2 shape:',array2.shape)
array3 = array1.reshape(5,-1)
print('array3.shape:',array3.shape)
#output
[0 1 2 3 4 5 6 7 8 9]
array2 shape: (2, 5)
array3.shape: (5, 2)
reshape()์ -1์ ์ธ์๋ก ์ ์ฉํ๋ฉด ์๋ ndarray์ ํธํํ๋ ์๋ก์ด ์ธ์๋ก ์ ์ฉ๋จ
array4 = array1.reshape(-1,4)
10๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง ndarray๋ 4๊ฐ์ ๋ก์ฐ๋ฅผ ๊ฐ์ง ์ ์์
#tolist๋ ๋ฆฌ์คํธ์๋ฃํ์ผ๋ก ๋ณํํด์ค
array1= np.arange(8)
array3d = array1.reshape((2,2,2))
print('array3d:\n',array3d.tolist())
#3์ฐจ์ ndarray๋ฅผ 2์ฐจ์ ndarray๋ก ๋ณํ
array5 = array3d.reshape(-1,1)
print('array5:\n',array5.tolist())
print('array5 shape:',array5.shape)
#1์ฐจ์ ndarray๋ฅผ 2์ฐจ์์ผ๋ก ๋ณํ
array6 = array1.reshape(-1,1)
print('array6:\n',array6.tolist())
print('array6 shape:',array6.shape)
reshape(-1,1)์ ์๋ณธ ndarray๊ฐ ์ด๋ค ํํ์ด๋๋ผ๋ 2์ฐจ์์ด๊ณ , ์ฌ๋ฌ ๋ก์ฐ๋ฅผ ๊ฐ์ง๋ ๋ฐ๋์ 1๊ฐ์ ์นผ๋ผ์ ๊ฐ์ง ndarray๋ก ๋ณํ๋จ
'๐ Python > NumPy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Numpy ๋์ ์์ฑ (Random) (0) | 2022.08.25 |
---|---|
[Python] np.linspace()ํจ์ (0) | 2022.05.23 |
[Python] NumPy๋ฅผ ์ด์ฉํ ํ๋ ฌ์ ์ ๋ ฌ (0) | 2022.02.06 |
[Python] NumPy ์ธ๋ฑ์ฑ(Indexing) (0) | 2022.02.04 |