0 부터 5까지 2차원의 배열 생성
a_int = np.arange(6).reshape(2,3)
-> array([[0, 1, 2],
[3, 4, 5]])
# a_int 2,3 배열의 값을 0으로 채움(변경)
* np.zeros_like(a_int)
-> array([[0, 0, 0],
[0, 0, 0]])
* np.zeros_like(a_int, dtype=float) # 타입 지정
-> array([[0., 0., 0.],
[0., 0., 0.]]) # int -> float
# a_int 2,3 배열의 값을 1로 채움(변경)
* np.ones_like(a_int)
-> array([[1, 1, 1],
[1, 1, 1]])
* np.ones_like(a_int, dtype=float) # 타입 지정
-> array([[1., 1., 1.],
[1., 1., 1.]]) # int -> float
# a_int 2,3 배열의 값을 임의의 값으로로 채움(변경)
* np.full_like(a_int, 100)
-> array([[100, 100, 100],
[100, 100, 100]])
* np.full_like(a_int, 100, dtype=float) # 타입 지정
-> array([[100., 100., 100.],
[100., 100., 100.]]) # int -> float
* np.linspace(0,10,3) # 0 부터 10까지 자동 3등분
-> array([ 0., 5., 10.])
* np.linspace(1,10,5) # 1 부터 10까지 자동 5등분
-> array([ 1. , 3.25, 5.5 , 7.75, 10. ])
* print(np.linspace(10,0,5, endpoint=False, dtype=int, retstep=True)
# 10 에서 0까지 자동 5등분. 역순으로 등분
-> (array([10, 8, 6, 4, 2]), -2.0) # 0을 표시하지 않고, 스텝의 값을 표시
* np.random.rand(3) # 1차원 난수 생성
-> array([0.04590345, 0.42441386, 0.25703375])
* np.random.rand(2,3)
# 2,3 인수로 (2,3)의 2차원 난수 생성
-> array([[0.00710006, 0.0406408 , 0.87491746],
[0.57945718, 0.52464235, 0.20441487]])
* np.random.rand(2,2,3)
# 2,2,3 인수로 (2,2,3)의 3차원 난수 생성
-> array([[[0.9732047 , 0.72206937, 0.57992388],
[0.73991806, 0.08550887, 0.85841823]],
[[0.14292297, 0.64883607, 0.36973833],
[0.26686449, 0.16283865, 0.44511027]]])
* np.random.random_sample(3) # 1차원 난수 생성
-> array([0.04590345, 0.42441386, 0.25703375])
* np.random.random_sample((2,3))
# (2,3) 튜플 인수로 (2,3)의 2차원 난수 생성
-> array([[0.00710006, 0.0406408 , 0.87491746],
[0.57945718, 0.52464235, 0.20441487]])
* np.random.random_sample((2,2,3))
# (2,2,3) 튜플 인수로 (2,2,3)의 3차원 난수 생성
-> array([[[0.9732047 , 0.72206937, 0.57992388],
[0.73991806, 0.08550887, 0.85841823]],
[[0.14292297, 0.64883607, 0.36973833],
[0.26686449, 0.16283865, 0.44511027]]])
* np.random.randint(4, 10, (3,3))
# 4이상 10미만 사이의 정수인 난수값이 (3,3)형태로 생성
-> array([[7, 4, 8],
[8, 6, 8],
[5, 9, 6]])
슬라이스( [ : ] )를 이용해서 특정 범위의 값을 출력하거나 변경 할 수 있음
# 행열 전체
* a_int[:]
-> array([[0, 1, 2],
[3, 4, 5]])
# 행과 열을 전체 지정
* a_int[:, :] # 첫 번째가 행, 두 번째가 열
-> array([[0, 1, 2],
[3, 4, 5]])
# 행 선택 지정
* a_int[:1, :]
-> array([[0, 1, 2]])
# 열 선택 지정
* a_int[:, :2]
-> array([[0, 1],
[3, 4]])
# 행과 열을 선택 지정
* a_int[:1, :2]
-> array([[0, 1]])
# 선택한 범위의 값 변경
* a_int[:1, :2] = 100 # 1행 2열까지의 값을 100으로 변경
-> array([[100, 100, 2],
[ 3, 4, 5]])