### 2021.12.16
배열 속성 정보
import numpy as np
def array_info(array):
print(array)
print("ndim : ", array.ndim)
print("shape : ", array.shape)
print("dtype : ", array.dtype)
print("size : ", array.size)
print("itemsize : ", array.itemsize)
print("nbytes : ", array.nbytes)
print("strides : ", array.strides)
#In[]
a1 = np.array([1,2,3,4,5])
array_info(a1)
#Out[]
[1 2 3 4 5]
ndim : 1
shape : (5,)
dtype : int64
size : 5
itemsize : 8
nbytes : 40 #size * itemsize
strides : (8,) #다음으로 넘어가기위한 itemsize
#In[]
a2 = np.array([[1,2,3,], [4,5,6], [7,8,9]])
array_info(a2)
#Out[]
[[1 2 3]
[4 5 6]
[7 8 9]]
ndim : 2
shape : (3, 3)
dtype : int64
size : 9
itemsize : 8
nbytes : 72
strides : (24, 8) #다음 차원으로 넘어갈때 필요한 바이트
#In[]
a3 = np.array([[[1,2,3], [4,5,6], [7,8,9]],
[[1,2,3], [4,5,6], [7,8,9]],
[[1,2,3], [4,5,6], [7,8,9]]])
array_info(a3)
#Out[]
[[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]]
ndim : 3
shape : (3, 3, 3)
dtype : int64
size : 27
itemsize : 8
nbytes : 216
strides : (72, 24, 8)
인덱싱(Indexing)
#In[]
print(a1)
print(a1[0])
print(a1[-1])
print(a1[-2])
#Out[]
[1 2 3 4 5]
1
5
4
#In[]
print(a2)
print(a2[0, 2])
print(a2[1, 1])
print(a2[2, -1])
print(a2[0, :])
#Out[]
[[1 2 3]
[4 5 6]
[7 8 9]]
3
5
9
[1 2 3]
#In[1]
print(a3)
#Out[1]
[[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]]
#In[2]
print(a3[0,0,0])
#Out[2]
1
#In[3]
print(a3[1,:,:])
#Out[3]
[[1 2 3]
[4 5 6]
[7 8 9]]
#In[4]
print(a3[:,1,:])
#Out[4]
[[4 5 6]
[4 5 6]
[4 5 6]]
불리언 인덱싱(Boolean Indexing)
- 배열 각 요소의 선택 여부를 불리언(True or False)로 지정
- True 값인 인덱스의 값만 조회
#In[]
print(a1)
b1 = [False, True, True, False, True]
print(a1[b1])
#Out[]
[1 2 3 4 5]
[2 3 5]
#In[]
print(a1)
b2 = np.random.randint(0, 2, (3,3), dtype=bool)
print(b2)
print(a2[b2])
#Out[]
[1 2 3 4 5]
[[False True False]
[False True False]
[False False True]]
[2 5 9]
팬시 인덱싱(Fancy Indedxing)
#In[1]
print(a1)
print(a1[0], a1[2])
#Out[1]
[1 2 3 4 5]
1 3
#In[2]
ind = [0,2]
print(a1[ind])
#Out[2]
[1 3]
#In[3]
ind = np.array([[0,1],
[2,0]])
print(a1[ind])
#Out[3]
[[1 2]
[3 1]]
#In[1]
print(a2)
#Out[1]
[[1 2 3]
[4 5 6]
[7 8 9]]
#In[2]
row = np.array([0,2])
col = np.array([1,2])
print(a2[row, col])
print(a2[:, col])
print(a2[row, :])
#Out[2]
[2 9]
[[2 3]
[5 6]
[8 9]]
[[1 2 3]
[7 8 9]]
'Youtube > NumPy' 카테고리의 다른 글
[NumPy] #5 배열 연산 (0) | 2021.12.18 |
---|---|
[NumPy] #4 배열 변환 (0) | 2021.12.18 |
[Numpy] #3 배열 값 삽입/수정/삭제/복사 (0) | 2021.12.18 |