데이터 분석/numpy
파이썬 numpy 행렬 만들기
iminu
2022. 4. 27. 18:08
특정 값으로, 행렬 만들기
# 6 으로 10개짜리 1차원 배열을 만드세요
np.full(10,6)
# array([6, 6, 6, 6, 6, 6, 6, 6, 6, 6])
# 6 으로 채워진 2행 3열짜리 행렬을 만드세요
np.full((2, 3), 6)
# array([[6, 6, 6],
# [6, 6, 6]])
0과 1로 채우기
np.ones((3, 5))
# array([[1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1.],
# [1., 1., 1., 1., 1.]])
np.zeros((3,5))
# array([[0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.],
# [0., 0., 0., 0., 0.]])
정수의 배열을 얻고자 할때
np.arange(9 + 1)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 3부터 20까지의 정수중 홀수만 만드세요
np.arange(3, 20 + 1, 2)
# array([ 3, 5, 7, 9, 11, 13, 15, 17, 19])
정수 말고 실수를 얻고자 할때
# 0부터 25까지의 실수 10개를 가져오세요
np.linspace(0, 25, 10)
# array([ 0. , 2.77777778, 5.55555556, 8.33333333, 11.11111111,
# 13.88888889, 16.66666667, 19.44444444, 22.22222222, 25. ])
np.linspace(0, 25, 10, endpoint= False)
# array([ 0. , 2.5, 5. , 7.5, 10. , 12.5, 15. , 17.5, 20. , 22.5])
이렇게 1차원 배열을 얻은 후, 우리는 이것을 가지고 여러차원으로 만들 수 있다.
np.arange(5, 30).reshape((5, 5))
# array([[ 5, 6, 7, 8, 9],
# [10, 11, 12, 13, 14],
# [15, 16, 17, 18, 19],
# [20, 21, 22, 23, 24],
# [25, 26, 27, 28, 29]])
랜덤값으로 채워진 배열을 만들 수 있다.
# 넘파이에서는 랜덤으로 수를 채우는, 행렬을 제공한다.
np.random.random((3, 4))
# array([[0.58686352, 0.36179287, 0.34962168, 0.07714271],
# [0.07544062, 0.09915818, 0.71302533, 0.71173274],
# [0.93683057, 0.33314641, 0.82256852, 0.92437724]])
np.random.randint(start, stop, size = shape)
시작값과 끝값을 줄 수 있다.
np.random.randint(1, 6, (3, 4))
# array([[3, 4, 2, 5],
# [4, 4, 2, 2],
# [3, 4, 3, 4]])
정규분포를 만족하는 랜덤값으로 채우기
np.random.normal(mean, standard deviation, size=shape)
np.random.normal(170, 10, (2, 3))
# array([[160.82020044, 180.88250157, 172.82545527],
# [172.63958709, 168.92942062, 177.29288586]])