본문으로 바로가기

[Numpy] ndarray 인덱싱 & 슬라이싱

category AI/데이터분석 2020. 1. 18. 20:02
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

 

 

인덱싱

파이썬 리스트와 동일한 개념.

, 를 이용하여 각 차원의 인덱스에 접근 가능.

 

 

 

1차원 벡터 인덱싱

x = np.arange(10)
print(x)
print(x[0], x[-2])

 

 


2차원 행렬 인덱싱

여전히 음수 인덱싱도 가능함.

x = np.arange(10).reshape(2,5)
print(x)

print(x[0])
print(x[0,3])
print(x[1,2])
print(x[1,-1])

 

 


3차원 텐서 인덱싱

 

인덱싱을 쓰면 차원이 줄어든다!!


 

슬라이싱

리스트, 문자열 slicing과 동일한 개념으로 사용.

,를  사용하여 각 차원 별로 슬라이싱 가능.

 

 

2차원 행렬 슬라이싱

 

여기서 123, 678 만 가져오고 싶을 때..

두 행은 모두 걸치고 있으니 행은 모두 필요하고

열은 1,2,3 열만 필요하니까 1:4 로 슬라이싱 해주면 된다.

 

위의 경우는 인덱싱과 슬라이싱을 같이 쓴 경우인데

이 때 인덱싱을 썼기 때문에 차원이 줄어든 것을 확인할 수 있다.

 

위와 같이 인덱싱으로 0번째 행을 표시하면 차원이 줄어들지 않는다.

 

 


3차원 텐서 슬라이싱

 

결과는 역시나 3차원 텐서

 

그러나 인덱싱을 쓴 순간 2차원 행렬을 반환.

 

 

 

 

 

 

 

위 내용은 fastcampus 강의 내용을 정리한 것입니다.