[파이썬 numpy] 2차원 배열의 인덱싱/수정
[파이썬 numpy] 2차원 배열의 인덱싱/수정
2차원 배열의 인덱싱과 수정방법을 알아봅시다. 배열의 인덱싱은 배열의 특정 원소(들)에 접근하는 것입니다. 특정원소에 접근하면 그 값을 다른 값으로 바꿀 수 있기 때문에 배열의 수정도 함께 배울 것입니다.
먼저 배열을 하나 정의합시다.
>>> A2=np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> A2
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
하나의 원소에 접근
1행2열에 접근
>>> A2[0,1]
2
구간을 이용하여 여러 원소에 접근
1행에 접근
>>> A2[0]
array([1, 2, 3])
2열에 접근
>>> A2[:,1]
array([ 2, 5, 8, 11])
처음부터 또는 마지막까지 접근
두번째 열의 첫 원소부터 3번째 원소까지 접근
>>> A2[:2,1]
array([2, 5])
두번째 열의 세번째 원소부터 끝 원소까지 접근
>>> A2[2:,1]
array([ 8, 11])
불연속하게 접근
세번째 행의 첫번째, 세번째 원소에 접근
>>> A2[2,[0,2]]
array([7, 9])
조건부 인덱싱
2보다 큰 원소에만 접근해봅시다.
>>> A2[A2>2]
array([ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
원소 수정
2행3열의 원소를 100으로 변경
>>> A2[1,2]=100
>>> A2
array([[ 1, 2, 3],
[ 4, 5, 100],
[ 7, 8, 9],
[ 10, 11, 12]])