## 이론문제 ##
# o/x를 고르고 틀린 문장은 고치시오.
# 1. arr = np.array([1, 2, 3])라는 전제하에 type([1, 2, 3])와 type(arr)의 출력 결과는 같다.
x (=> type([1, 2, 3])의 출력 결과는 list이고, type(arr)의 출력 결과는 numpy.ndarray이다.)
# 2. np.linspace(0,10,11)과 np.arange(0,11,10)은 같은 값을 출력한다.
x (=> np.linspace(0,10,11)은 0부터 10까지의 숫자를 동일한 간격으로 11개 출력, np.arange(0,11,10)은 0부터 10까지의 숫자를 10의 간격으로 출력)
# 3. random.randn() 함수는 랜덤한 정수만을 출력하는 함수이다.
x (=> 랜덤한 정수를 출력하는 함수는 np.random.ranint()이다.)
# 4. 2차원 배열 [[1,2,3],[4,5,6],[7,8,9]] 에서
print(arr[[False,True,False],[False,True,False]])를 실행하면
[[2],[4,5,6],[8]]이 출력된다.
x (=> [5]만 출력됨)
## 실습문제 ##
# 1. arr = np.array([1, 2, 3])을 출력할 때 [1. 2. 3.]이 출력되도록 하시오.
arr = np.array([1, 2, 3])
arr = arr.astype(float)
print(arr)
# 2. np.array([[1,0,0],[0,1,0],[0,0,1]]) 과 같은 행렬을 두가지 방법으로 출력하시오.
print(np.eye(3,3, dtype=int))
print(np.identity(3))
# 3. random.normal 함수를 이용하여 평균값이 0 이고 표준편차가 1, 표본의 개수가 10000이고 난수를 1000개의 구간으로 나눈 히스토그램을 출력하시오.
arr = np.random.normal(0,1,10000)
plt.hist(arr, bins=1000)
plt.show()
# 4. 2차원배열 [[1,2,3],[4,5,6],[7,8,9]] 에서 [[4 6], [7,9]]를 출력하시오.
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(arr[1:,[0,2]])