NumPy 색인 과 절편 의 용법 예제 요약

머리말
색인 과 절편 은 NumPy 에서 가장 중요 하고 자주 사용 하 는 동작 입 니 다.NumPy 절편 조작 을 능숙 하 게 사용 하 는 것 은 데이터 처리 와 기계 학습 의 전제 이 므 로 반드시 잘 파악 해 야 한다.
NumPy 공식 문 서 를 참고 하여 NumPy 색인 과 절편 을 정리 하면 Python 보다 더욱 편리 하고 간단 하 며 강 한 것 을 볼 수 있 습 니 다.
색인 과 절편
절편 Python 목록 과 같은 방법 으로 NumPy 배열 을 색인 하고 절편 할 수 있 습 니 다.

>>> data = np.array([1, 2, 3])

>>> data[1]
2
>>> data[0:2]
array([1, 2])
>>> data[1:]
array([2, 3])
>>> data[-2:]
array([2, 3])

너 는 이렇게 상상 할 수 있다.

더 분석 하거나 다른 작업 에서 사용 할 수 있 도록 배열 의 일부분 이나 특정한 배열 요 소 를 가 져 와 야 할 수도 있 습 니 다.이 를 위해 서 는 배열 에 대해 부분 집합,절편,색인 이 필요 합 니 다.
배열 에서 특정 조건 을 만족 시 키 는 값 을 선택 하려 면 NumPy 는 간단 합 니 다.
예 를 들 어 이 배열 부터 시작 하면:

>>> a = np.array([[1 , 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
배열 의 5 보다 작은 모든 값 을 쉽게 인쇄 할 수 있 습 니 다.

>>> print(a[a < 5])
[1 2 3 4]
예 를 들 어 5 이상 의 숫자 를 선택 하고 이 조건 을 사용 하여 배열 을 색인 할 수 있다.

>>> five_up = (a >= 5)
>>> print(a[five_up])
[ 5  6  7  8  9 10 11 12]
2 로 나 눌 수 있 는 요 소 를 선택 할 수 있 습 니 다:

>>> divisible_by_2 = a[a%2==0]
>>> print(divisible_by_2)
[ 2  4  6  8 10 12]
또는&와|연산 자 를 사용 하여 두 가지 조건 을 만족 시 키 는 요 소 를 선택 할 수 있 습 니 다.

>>> c = a[(a > 2) & (a < 11)]
>>> print(c)
[ 3  4  5  6  7  8  9 10]
논리 연산 자&와|불 값 을 되 돌려 주 고 배열 의 값 이 특정 조건 에 만족 하 는 지 지정 할 수 있 습 니 다.이것 은 이름 이나 다른 분류 값 을 포함 하 는 배열 에 매우 유용 하 다.

>>> five_up = (a > 5) | (a == 5)
>>> print(five_up)
[[False False False False]
 [ True  True  True  True]
 [ True  True  True True]]
np.nonzero()를 사용 하여 배열 에서 요소 나 색인 을 선택 할 수 있 습 니 다.
이 배열 부터:

>>> a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
np.nonzero()를 사용 하여 요소 의 색인 을 인쇄 할 수 있 습 니 다.예 를 들 어 5 보다 작 습 니 다.

>>> b = np.nonzero(a < 5)
>>> print(b)
(array([0, 0, 0, 0]), array([0, 1, 2, 3]))
이 예 에서 하나의 배열 원 조 를 되 돌려 주 었 습 니 다.각 차원 마다 하나 입 니 다.첫 번 째 배열 은 이 값 의 줄 색인 을 찾 았 음 을 나타 내 고,두 번 째 배열 은 이 값 의 열 색인 을 찾 았 음 을 나타 낸다.
요소 가 있 는 좌표 목록 을 만 들 려 면 배열 을 압축 하여 좌표 목록 을 옮 겨 다 니 며 인쇄 할 수 있 습 니 다.예 를 들 면:

>>> list_of_coordinates= list(zip(b[0], b[1]))

>>> for coord in list_of_coordinates:
...     print(coord)
(0, 0)
(0, 1)
(0, 2)
(0, 3)

np.nonzero()를 사용 하여 배열 의 5 보다 작은 요 소 를 인쇄 하고 사용 할 수 있 습 니 다.

>>> print(a[b])
[1 2 3 4]
찾 으 려 는 요소 가 배열 에 존재 하지 않 으 면 되 돌아 오 는 색인 배열 이 비어 있 습 니 다.예 를 들 면:

>>> not_there = np.nonzero(a == 42)
>>> print(not_there)
(array([], dtype=int64), array([], dtype=int64))
총결산
여기 서 NumPy 색인 과 절편 용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 NumPy 색인 과 절편 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기