In [223]:
# X 에, 70보다 큰 데이터는 몇개인가?
In [224]:
X
Out[224]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [233]:
X > 70
Out[233]:
array([[ True, False, True, False, False], [ True, True, False, True, False], [False, False, False, False, False], [False, True, True, False, False]])
In [234]:
(X > 70).sum() # True = 1 False = 0 이므로.
Out[234]:
7
In [235]:
# X의 데이터 중에서 70보다 큰 데이터를 가져오시오
In [239]:
X[X>70]
Out[239]:
array([84, 74, 77, 92, 91, 76, 86])
In [243]:
np.arange(2,32+1,2)
Out[243]:
array([ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32])
In [245]:
np.arange(2,32+1,2).reshape(4,4)
Out[245]:
array([[ 2, 4, 6, 8], [10, 12, 14, 16], [18, 20, 22, 24], [26, 28, 30, 32]])
In [ ]:
SHAPE, LENGTH AND TYPE OF NUMPY ARRAYS¶
In [247]:
X
Out[247]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [246]:
X.shape
Out[246]:
(4, 5)
In [248]:
X.ndim
Out[248]:
2
In [249]:
X.dtype
Out[249]:
dtype('int32')
In [250]:
X.size
Out[250]:
20
MAX AND MIN VALUES AND THEIR INDEX¶
In [251]:
X.max()
Out[251]:
92
In [252]:
# X 에, 최대값이 들어있는 자리는 어디입니까?
In [257]:
X.argmax()
Out[257]:
6
In [258]:
X
Out[258]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [259]:
X.min()
Out[259]:
7
In [260]:
X.argmin()
Out[260]:
11
In [261]:
# 각 행별로 최대값은?
In [263]:
X.max(axis = 1)
Out[263]:
array([84, 92, 52, 86])
In [264]:
# 각 행별로 최대값이 들어있는 자리는?
In [265]:
X.argmax(axis = 1)
Out[265]:
array([0, 1, 0, 2], dtype=int64)
In [266]:
X.argmax(axis = 0)
Out[266]:
array([0, 1, 3, 1, 3], dtype=int64)
In [ ]:
Accessing Elements Into ndarrays¶
In [270]:
np.random.seed(23)
In [271]:
x = np.random.randint(0, 100, 10)
In [272]:
x
Out[272]:
array([83, 40, 73, 54, 31, 76, 91, 39, 90, 25])
In [274]:
x[2]
Out[274]:
73
In [275]:
x[-1]
Out[275]:
25
다차원배열의 인덱스 접근¶
In [277]:
X
Out[277]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [281]:
X[1][2]
Out[281]:
40
In [282]:
# 콤마의 왼쪽이 행, 오른쪽이 열
X[1,2]
Out[282]:
40
In [284]:
X[2,4]
Out[284]:
50
Slicing - 잘라서 가져오기¶
In [285]:
x
Out[285]:
array([83, 40, 73, 54, 31, 76, 91, 39, 90, 25])
In [289]:
x[2:6+1]
Out[289]:
array([73, 54, 31, 76, 91])
In [290]:
X
Out[290]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [296]:
X[1:2+1,1:3+1]
Out[296]:
array([[92, 40, 91], [ 7, 46, 13]])
In [298]:
X[0:2+1,0:1+1]
Out[298]:
array([[84, 41], [77, 92], [52, 7]])
In [301]:
X[:-1,:-3]
Out[301]:
array([[84, 41], [77, 92], [52, 7]])
In [302]:
X[3:,2:]
Out[302]:
array([[86, 70, 65]])
In [303]:
# 세번째 행을 가져오세요
In [304]:
X
Out[304]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [306]:
X[2]
Out[306]:
array([52, 7, 46, 13, 50])
In [307]:
# 세번째 열을 가져오세요
In [314]:
X[,2+1]
Cell In [314], line 1 X[,2+1] ^ SyntaxError: invalid syntax
In [316]:
X[: , 2] # 행부분은 무조건 써야한다.
Out[316]:
array([74, 40, 46, 86])
In [ ]:
In [317]:
# 첫번째 행과 세번째 행을 가져오세요
In [319]:
X[ [0,2] , ]
Out[319]:
array([[84, 41, 74, 55, 32], [52, 7, 46, 13, 50]])
In [318]:
X[::2,]
Out[318]:
array([[84, 41, 74, 55, 32], [52, 7, 46, 13, 50]])
In [ ]:
In [320]:
# 첫번째, 세번째, 네번째 열을 가져오시오
In [321]:
X
Out[321]:
array([[84, 41, 74, 55, 32], [77, 92, 40, 91, 26], [52, 7, 46, 13, 50], [67, 76, 86, 70, 65]])
In [323]:
X[:,[0,2,3] ]
Out[323]:
array([[84, 74, 55], [77, 40, 91], [52, 46, 13], [67, 86, 70]])
In [ ]:
# 맨끝에 있는 65를 100으로 변경
In [325]:
X[-1,-1] = 100
In [326]:
X
Out[326]:
array([[ 84, 41, 74, 55, 32], [ 77, 92, 40, 91, 26], [ 52, 7, 46, 13, 50], [ 67, 76, 86, 70, 100]])
In [328]:
X[3,4]
Out[328]:
100
'DataScience > Numpy' 카테고리의 다른 글
Numpy Slicing 주의점, Copy, boolean 연산 (0) | 2022.11.23 |
---|---|
Numpy random, sum, mean, max, min, axis (0) | 2022.11.23 |