728x90
import numpy as np
1. 0부터 9까지의 숫자가 순서대로 하나씩 들어있는 1차원 배열을 생성하는 코드를 작성하시오
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2. 모든 요소가 True로 채워진 (3, 3)의 형상을 가지는 다차원 배열을 생성하는 코드를 작성하시오
np.ones((3, 3), dtype = bool)
array([[ True, True, True],
[ True, True, True],
[ True, True, True]])
np.full((3, 3), True)
array([[ True, True, True],
[ True, True, True],
[ True, True, True]])
3. 바깥쪽 테두리에는 1이 채워져있고 내부는 0으로 채워진 (10, 10)형상의 2차원 배열을 생성하는 코드를 작성하시오
arr = np.ones((10, 10))
arr
array([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
arr[1:-1, 1:-1] = 0
arr
array([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
4. arr = np.arange(10) 이라고 할 때 arr에서 홀수들만 추출하여 출력하시오
arr = np.arange(10)
arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr % 2 == 1]
array([1, 3, 5, 7, 9])
5. arr = np.arange(10) 에서 홀수들을 -1로 수정하여 출력하시오
arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr % 2 == 1] = -1
arr
array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])
6. 배열 arr이 아래와 같을 때, 아래의 지시사항에 따라 데이터 전처리를 수행하는 코드를 작성하시오
arr = np.arange(1, 9).reshape(4, 2)
1. 각 열의 값이 최솟값이 0, 최댓값이 1이 될 수 있도록 정규화를 하려고 한다
- 정규화의 공식이 ((각 요소 값 - 해당 열의 최솟값) / (해당 열의 최댓값 - 해당 열의 최솟값))이라고 할 때
- 위의 공식에 따라 정규화를 수행하면 결과는 array([[0, 0], [0.3333, 0.3333], [0.6666, 0.6666], [1, 1]])이 된다
- arr를 위의 공식에 따라 정규화를 수행하는 코드를 작성하시오
arr = np.arange(1, 9).reshape(4, 2)
arr
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
# 해당 열의 최댓값
arr_max = arr.max(axis = 0)
arr_max
array([7, 8])
# 해당 열의 최솟값
arr_min = arr.min(axis = 0)
arr_min
array([1, 2])
(arr - arr_min)/(arr_max - arr_min)
array([[0. , 0. ],
[0.33333333, 0.33333333],
[0.66666667, 0.66666667],
[1. , 1. ]])
# reshape
# 축에 따른 연산 3문제
# 슬라이싱
# 2차원, 3차원
728x90
'06_Numpy' 카테고리의 다른 글
02_선형대수 기본 (0) | 2025.03.10 |
---|---|
01_넘파이(Numpy)_기초 (0) | 2025.03.10 |
넘파이(NumPy) documentation 확인 방법 (0) | 2025.03.10 |