1. 1차원 Array Indexing

1) Indexing

일반적인 파이썬에서 리스트를 인덱싱하는 방법과 동일하다

크기가 N인 Array가 있다면 []를 활용해 0번 ~ N-1번까지 인덱싱 할 수 있다.

반대로 에서부터 인덱싱을 하고 싶다면 -1번 ~ -N번까지 인덱싱 할 수 있다.

1차원 Array Indexing

array_one = np.arange(1,11)
print(f'array_one[0]: {array_one[0]}')
print(f'array_one[5]: {array_one[5]}')
print(f'array_one[9]: {array_one[9]}')
print(f'array_one[-5]: {array_one[-5]}')
print(f'array_one[-1]: {array_one[-1]}')

## 출력
array_one[0]: 1
array_one[5]: 6
array_one[9]: 10
array_one[-5]: 6
array_one[-1]: 10

 

2) slicing

a[s:] : a 배열의 s번째 인덱스부터 끝까지 slicing

a[:s] : a배열의 처음부터 s-1번째 인덱스까지 slicing

a[s:d] : a배열의 s번쨰 인덱스부터 d-1번째 인덱스까지 slicing

a[s:d:k] : a배열의 s번쨰 인덱스부터 d-1번째 인덱스까지 k 간격으로 slicing

1차원 Array slicing

Array를 slicing함과 동시에 값을 변경할 수도 있고 특정 원소들만 선택해 slicing할 수도 있다.

다음과 같이 특정 원소들만 선택해 slicing하는 것을 fancy indexing이라고 한다.

a = np.arange(1, 6)  #[1,2,3,4,5]

# 슬라이싱과 동시에 값 변경
a[2:4] = 0
print(a)  #[1,2,0,0,5]

# 특정 원소만 인덱싱(fancy indexing)
# 1,3,4 번 인덱스의 원소들만 slicing
print(a[[1,3,4]])  #[2,4,5]

 

2. 2차원 Array Indexing

1) Indexing

[][]식으로 차원별로 대괄호를 사용하여 indexing 한다.

2차원 Array는 행과 열을 따로 인덱싱이 가능하며, 0부터 N-1까지 인덱스가 있다.(N×N)일 경우

5는 array[1][1]로 indexing할 수 있다.

 

2) slicing

1차원과 동일하게 각 열과 행을 0부터 N-1까지 K step만큼씩 인덱싱 할 수 있다.

콤마(,)를 기준으로 앞은 row slicing, 뒤는 column slicing 이다.

row와 column을 슬라이싱하고 겹치는 부분이 반환된다.

2 차원 Array indexing

 

'💂군대 > KAIST ICT Academy' 카테고리의 다른 글

[Numpy] Random Number generation  (2) 2024.11.10
[Numpy] Boolean Masking  (1) 2024.11.09
[Numpy] Broadcasting  (0) 2024.11.03
[Numpy] Array manipulation  (0) 2024.11.02
[Numpy] Numpy Arrays  (0) 2024.11.02
루오