์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๊ตฐ์งํ
- datascience
- dataframe
- ๋ ๋ฆฝํ๋ณธ
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- pandas
- ํ์ด์ฌ
- ํ ์คํธ๋ถ์
- PCA
- Lambda
- ํฌ๋กค๋ง
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- LDA
- ์ธ๋์ํ๋ง
- t-test
- iloc
- ์ฃผ์ฑ๋ถ๋ถ์
- opencv
- ๋น ๋ฐ์ดํฐ
- DBSCAN
- ๋์ํ๋ณธ
- ADP
- numpy
- ๋ฐ์ดํฐ๋ถ์
- Python
- ์๋ํด๋ผ์ฐ๋
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- ์ค๋ฒ์ํ๋ง
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- ADsP
Data Science LAB
[Python] NumPy ์ธ๋ฑ์ฑ(Indexing) ๋ณธ๋ฌธ
Indexing
1. ํน์ ๋ฐ์ดํฐ๋ง ์ถ์ถ
2. ์ฌ๋ผ์ด์ฑ(์ฐ์๋ ์ธ๋ฑ์ค์์ ndarray ์ถ์ถ)
3. ํฌ์ ์ธ๋ฑ์ฑ(Fancy Indexing): ์ผ์ ํ ์ธ๋ฑ์ฑ ์งํฉ์ ๋ฆฌ์คํธ ๋๋ ndarray ํํ๋ก ์ง์ ํด ํด๋น ์์น์ ๋ฐ์ดํฐ ndarray ๋ฐํ
4. ๋ถ๋ฆฐ ์ธ๋ฑ์ฑ(Boolean Indexing) : ํน์ ์กฐ๊ฑด์ ํด๋นํ๋์ง ์ฌ๋ถ์ธ True/False ๊ฐ ์ธ๋ฑ์ฑ ์งํฉ์ ๊ธฐ๋ฐ์ผ๋ก True์ ํด๋นํ๋ ์ธ๋ฑ์ค ์์น์ ๋ฐ์ดํฐ์ ndarray๋ฐํ
ํน์ ๋ฐ์ดํฐ ์ถ์ถ
#1-9๊น์ง์ 1์ฐจ์ ndarray ์์ฑ
array1 = np.arange(start = 1, stop = 10)
print('array1:',array1)
value = array1[2]
print('value:',value)
print(type(value))
index๋ 0๋ถํฐ ์์ํ๋ฏ๋ก array1[2]๋ 3๋ฒ์จฐ index์์น์ ๋ฐ์ดํฐ๊ฐ์ ์๋ฏธ
print('๋งจ ๋ค์ ๊ฐ :',array1[-1],'๋งจ ๋ค์์ ๋ ๋ฒ์งธ ๊ฐ:',array1[-2])
#output
๋งจ ๋ค์ ๊ฐ : 9 ๋งจ ๋ค์์ ๋ ๋ฒ์งธ ๊ฐ: 8
array1[0] = 9
array1[8] = 0
print('array1:',array1)
#output
array1: [9 2 3 4 5 6 7 8 0]
ndarray๋ด์ ๋ฐ์ดํฐ ๊ฐ ์์ ๊ฐ๋ฅ
์ฌ๋ผ์ด์ฑ
array1 = np.arange(start=1,stop =10)
array3 = array1[0:3]
print(array3)
print(type(array3))
#output
1 2 3]
<class 'numpy.ndarray'>
array1 = np.arange(start=1,stop=10)
array4 = array1[:3]
print(array4)
array5 = array1[3:]
print(array5)
array6 = array1[:]
print(array6)
#output
[1 2 3]
[4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9]
array1d = np.arange(start=1,stop=10)
array2d = array1d.reshape(3,3)
print(array2d[0])
print(array2d[1])
print('array2d[0] shape:',array2d[0].shape,'array2d[1] shape:',array2d[1].shape)
2์ฐจ์ ndarray์์ ๋ค์ ์ค๋ ์ธ๋ฑ์ค๋ฅผ ์์ ๋ฉด 1์ฐจ์ ndarry ๋ฐํ
ํฌ์์ธ๋ฑ์ฑ
array1d = np.arange(start=1,stop=10)
array2d = array1d.reshape(3,3)
array3 = array2d[[0,1],2]
print('array2d[[0,1],2] => ',array3.tolist())
array4 = array2d[[0,1],0:2]
print('array2d[[0,1],0:2]',array4.tolist())
array5 = array2d[[0,1]]
print('array2d[[0,1]] => ',array5.tolist())
#output
array2d[[0,1],2] => [3, 6]
array2d[[0,1],0:2] [[1, 2], [4, 5]]
array2d[[0,1]] => [[1, 2, 3], [4, 5, 6]]
๋ฆฌ์คํธ๋ ndarray๋ก ์ธ๋ฑ์ค ์งํฉ์ ์ง์ ํ๋ฉด ํด๋น ์์น์ ์ธ๋ฑ์ค์ ํด๋นํ๋ ndarray๋ฐํ
๋ถ๋ฆฐ ์ธ๋ฑ์ฑ
array1d = np.arange(start=1,stop=10)
array3 = array1d[array1d>5]
print('array1d>5 ๋ถ๋ฆฐ ์ธ๋ฑ์ฑ ๊ฒฐ๊ณผ ๊ฐ : ',array3)
#output
array1d>5 ๋ถ๋ฆฐ ์ธ๋ฑ์ฑ ๊ฒฐ๊ณผ ๊ฐ : [6 7 8 9]
๋ถ๋ฆฐ ์ธ๋ฑ์ฑ์ ์กฐ๊ฑด ํํฐ๋ง๊ณผ ๊ฒ์์ ๋์์ ํ ์ ์์
#๋ํ์ด ndarray ๊ฐ์ฒด์ ์กฐ๊ฑด์ ํ ๋น
array1d > 5
#output
array([False, False, False, False, False, True, True, True, True])
boolean_indexes = np.array([False, False, False, False, False, True, True, True, True])
array3 = array1d[boolean_indexes]
print('๋ถ๋ฆฐ ์ธ๋ฑ์ค๋ก ํํฐ๋ง ๊ฒฐ๊ณผ :',array3)
#output
๋ถ๋ฆฐ ์ธ๋ฑ์ค๋ก ํํฐ๋ง ๊ฒฐ๊ณผ : [6 7 8 9]
indexes = np.array([5,6,7,8])
array4 = array1d[indexes]
print('์ผ๋ฐ ์ธ๋ฑ์ค๋ก ํํฐ๋ง ๊ฒฐ๊ณผ : ',array4)
#output
์ผ๋ฐ ์ธ๋ฑ์ค๋ก ํํฐ๋ง ๊ฒฐ๊ณผ : [6 7 8 9]
์ธ๋ฑ์ค ์งํฉ์ ๋ง๋ค์ด ํํฐ๋ง ํ ๊ฒ๊ณผ ๊ฒฐ๊ณผ ๋์ผํจ
'๐ Python > NumPy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Numpy ๋์ ์์ฑ (Random) (0) | 2022.08.25 |
---|---|
[Python] np.linspace()ํจ์ (0) | 2022.05.23 |
[Python] NumPy๋ฅผ ์ด์ฉํ ํ๋ ฌ์ ์ ๋ ฌ (0) | 2022.02.06 |
NumPy๋? (0) | 2022.02.03 |