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 색인 과 절편 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
chainer의 connection을 괴롭히고 새로운 층을 만든다 (1)GPU GTX1070 우분투 14.04 chainer 1.14.0 chainer에서 최신 모델을 구현할 때는 links/connection이나 functions/connection을 괴롭힐 필요가 있다. 그래서 가장...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.