차원 축소 연산 최대/최소, 합, 평균, 표준편차 등 차원을 축소하는 연산 x = np.array([1,4,2,3])
print(np.sum(x)) # 합 : 10
print(np.min(x)) # 최소값 : 1
print(np.max(x)) # 최대값 : 4
print(np.argmin(x)) # 최소값의 위치 : 0
print(np.argmax(x)) # 최대값의 위치 : 1
print(np.mean(x)) # 평균 : 2.5
print(np.median(x)) # 중간값 : 2.5
- all : 모든 데이터가 True면 True - any : 하나라도 True면 True
x = np.array([True, True, False])
print(np.all(x)) # False
print(np.any(x)) # True
y = np.array([True, True, True, True])
print(np.all(y)) # True
print(np.any(y)) # True
z = np.array([False, False, False])
print(np.all(z)) # False
print(np.any(z)) # False
a = np.zeros((100,100))
print(np.any(a!=0)) # False
print(np.all(a==a)) # True
배열이 2차원 이상인 경우, axis 인수로 한 줄씩 계산 가능 x = np.arange(24)
x = x.reshape(2,3,4)
print(x)
'''
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
'''
print(np.sum(x)) # 276
print(np.sum(x,axis=0))
'''
[[12 14 16 18]
[20 22 24 26]
[28 30 32 34]]
'''
print(np.sum(x,axis=1))
'''
[[12 15 18 21]
[48 51 54 57]]
'''
print(np.sum(x,axis=2))
'''
[[ 6 22 38]
[54 70 86]]
'''
이해하기 어려워서 그림으로 정리를 해봤습니다.
정렬 a = np.array([[4,3,5,7],[1,12,11,9],[2,15,1,14]])
print(a)
'''
[[ 4 3 5 7]
[ 1 12 11 9]
[ 2 15 1 14]]
'''
print(np.sort(a))
'''
[[ 3 4 5 7]
[ 1 9 11 12]
[ 1 2 14 15]]
'''
print(np.sort(a,axis=0))
'''
[[ 1 3 1 7]
[ 2 12 5 9]
[ 4 15 11 14]]
'''
디폴트 값 : 행을 기준으로 비교를 해서 행 안에서 정리한다. axis=1 : 각 배열 안에서 같은 위치에 있는 원소 (즉, 열(세로))들을 비교해서 순서대로 행에 작은 원소들을 넣는다. -> 첫 번째 행 : 열 중에서 첫 번째로 작은 수, 두 번째 행 : 열 중에서 두 번째로 작은 수, ···
a = np.array([[4,3,5,7],[1,12,11,9],[2,15,1,14]])
print(a)
'''
[[ 4 3 5 7]
[ 1 12 11 9]
[ 2 15 1 14]]
'''
print(np.sort(a)) # 정렬된 값을 '반환'
'''
[[ 3 4 5 7]
[ 1 9 11 12]
[ 1 2 14 15]]
'''
print(a) # 원본은 그대로
'''
[[ 4 3 5 7]
[ 1 12 11 9]
[ 2 15 1 14]]
'''
print(a.sort()) # 반환 값 '없음'
# None
print(a) # 원본이 바뀜
'''
[[ 3 4 5 7]
[ 1 9 11 12]
[ 1 2 14 15]]
'''
a = np.array([[4,3,5,7],[1,12,11,9],[2,15,1,14]])
print(a)
'''
[[ 4 3 5 7]
[ 1 12 11 9]
[ 2 15 1 14]]
'''
print(np.argsort(a))
'''
[[1 0 2 3]
[0 3 2 1]
[2 0 3 1]]
'''