Numpy. section7 : API들의 axis, keepdims 인자. Lec27. 행렬 ndarray에서의 axis, keepdims

timekeeep·2023년 3월 4일

Numpy

목록 보기
26/28

[0] 다양한 api들

  • 여러 api들을 이용해서 for문을 없앨수 있다
# np.sum and ndarray.sum of Vector

import numpy as np

a = np.arange(5)
print("ndarray: ", a)

print("np.sum: ", np.sum(a))
print("ndarray.sum: ", a.sum())

#np.sum and ndarray.sum of Matrix

a = np.arange(6).reshape((2,-1))
print("ndarray: \n", a)


print("np.sum: ", np.sum(a))
print("ndarray.sum: ", a.sum())

[1] axis, keepdims

# axis Argument - axis = 0

a = np.arange(12).reshape((3,-1))

sum_ = a.sum(axis = 0)

print("ndarray: {}\n{}".format(a.shape, a))
print("ndarray.sum(axis = 0): {}\n{}".format(sum_.shape, sum_))
  • 더해진 차원은 없어진다

# axis Argument - axis = 1
a = np.arange(12).reshape((3,-1))

sum_ = a.sum(axis = 1)

print("ndarray: {}\n{}".format(a.shape, a))
print("ndarray.sum(axis = 0): {}\n{}".format(sum_.shape, sum_))

  • keepdims 를 통해서 (3,) 를 (3,1)로 브로드캐스팅이 가능하게 만들어줄 수 있다.

[2] 전체코드

# np.sum and ndarray.sum of Vector

import numpy as np

a = np.arange(5)
print("ndarray: ", a)

print("np.sum: ", np.sum(a))
print("ndarray.sum: ", a.sum())

#np.sum and ndarray.sum of Matrix

a = np.arange(6).reshape((2,-1))
print("ndarray: \n", a)


print("np.sum: ", np.sum(a))
print("ndarray.sum: ", a.sum())

# axis Argument - axis = 0

a = np.arange(12).reshape((3,-1))

sum_ = a.sum(axis = 0)

print("ndarray: {}\n{}".format(a.shape, a))
print("ndarray.sum(axis = 0): {}\n{}".format(sum_.shape, sum_))

# axis Argument - axis = 1
a = np.arange(12).reshape((3,-1))

sum_ = a.sum(axis = 1)

print("ndarray: {}\n{}".format(a.shape, a))
print("ndarray.sum(axis = 0): {}\n{}".format(sum_.shape, sum_))

#

a = np.arange(12).reshape((3,-1))

sum_class = np.sum(a, axis = 0)
sum_student = np.sum(a, axis = 1)

sum_class = np.sum(a, axis = 0, keepdims = True)
sum_student = np.sum(a, axis = 1, keepdims = True)

#

n_student, n_class = 3, 4
m_score, M_score = 0, 100
scores = np.random.randint(low = m_score, high = M_score, size = (n_student, n_class))

mean_class = np.mean(scores, axis = 0, keepdims = True)
mean_class = np.mean(scores, axis = 1, keepdims = True)
profile
Those who are wise will shine like the brightness of the heavens, and those who lead many to righteousness, like the stars for ever and ever

0개의 댓글