파이썬 기초 문법 정리3 Numpy활용(2)
파이썬 Numpy활용법에 대해서 추가적으로 알아보자.
데이터 재대입
IN
a = np.array([1, 2, 3])
a[2] = 4
a
OUT
array([1, 2, 4])
데이터 재대입(2)
IN
b = np.array([[1, 2, 3], [4, 5, 6]])
b[:, 2] = 8
b
OUT
array([[1, 2, 8], [4, 5, 8]])
배열의 복사
IN
a1=a
a1
OUT
array([1, 2, 4])
IN
a1[1] = 5
a
OUT
array([1, 5, 4])
이 경우 a1을 수정하였는데 a도 수정된다.
a1만 수정하고 싶은 경우 copy를 이용한다.
배열의 복사 - copy
IN
a2 = a.copy()
a2
OUT
array([1, 5, 4])
IN
a2[0] = 6
a
OUT
array([1, 5, 4])
IN
a2
OUT
array([6, 5, 4])
ravel과 flatten의 차이 복습
IN
c1 = b.ravel()
c2 = b.flatten()
c1[0] = 6
c2[0] = 7
c1
OUT
array([6, 2, 8, 4, 5, 8])
IN
c2
OUT
array([7, 2, 8, 4, 5, 8])
c1은 합쳐지면서 앞자리가 6으로,
c2는 합쳐지면서 앞자리가 7로
자 그렇다면 이제 b는 어떻게 됬을까
IN
b
OUT
array([[6, 2, 8], [4, 5, 8]])
ravel의 영향을 받아 b의 앞자리는 6이되는 것을 알 수 있다.