import numpy as np
arr=np.arange(100).reshape(10,10)
print(arr) # 0~99 까지 정수를 포함하는 10x10 크기의 numpy 배열을 생성
arr2=arr[arr%2!=0]#배열에서 홀수값만 선택
print(arr2) # 새로운 배열 생성 # Q. 1차원 배열로 만드는 건가?
arr3=arr2[arr2%3==0] #새로운 배열에서 3의 배수만 선택
print(arr3) # 새로운 배열 생성
arr4=np.square(arr3) #각 요소의 제곱값 계산
print(arr4)
# 답에 대한 해설
#
넘파이를 사용하여 배열을 생성할 때, 배열의 형상(Shape)을 변경할 수 없다. X
행렬에서 열벡터를 행벡터로, 행벡터를 열벡터로 바꾼 행렬을 전치행렬이라고 한다. O
‘numpy.random.randint(0, 10, 5)’는 0에서 9사이의 무작위 정수 5개로 구성된 배열을 생성합니다. O
L1-norm과 L2-norm은 기계 학습의 목적에 따라 사용된다. O
수학에서의 내적을 구하기 위해서는 넘파이의 np.inner을 사용하여 내적을 구할 수 있다. O
(틀린이유>!넘파이의 np.inner은 i번째 행벡터와 j번째 행벡터사이의 내적을 성분으로 가지는 행렬을 계산한다. 수학에서 말하는 내적과 다르므로 주의해야한다. )
💡실습 arr=np.arange(0,100).reshape(10,10) print(arr)
odd=arr[arr%2==1] print(odd)
new_arr=odd[odd%3==0] print(new_arr) print(np.square(new_arr))
✏️ 이론 넘파이를 사용하여 배열을 생성할 때, 배열의 형상(Shape)을 변경할 수 없다. → ❌ reshape를 사용하면 변경할 수 있다. 행렬에서 열벡터를 행벡터로, 행벡터를 열벡터로 바꾼 행렬을 전치행렬이라고 한다. → ⭕ numpy.random.randint(0, 10, 5)는 0에서 9사이의 무작위 정수 5개로 구성된 배열을생성합니다. → ⭕ L1-norm과 L2-norm은 기계 학습의 목적에 따라 사용된다. → ⭕ 수학에서의 내적을 구하기 위해서는 넘파이의 np.inner을 사용하여 내적을 구할 수 있다. → ⭕
(틀린이유>!넘파이의 np.inner은 i번째 행벡터와 j번째 행벡터사이의 내적을 성분으로 가지는 행렬을 계산한다. 수학에서 말하는 내적과 다르므로 주의해야한다. )
실습문제
import numpy as np
arr = np.arange(100).reshape(10, 10)
print(arr)
odd_arr = arr[arr % 2 != 0]
print(odd_arr)
three_arr = odd_arr[odd_arr % 3 == 0]
print(three_arr)
square_arr = three_arr ** 2
print(square_arr)