행 인덱스 열 목록을 사용하여 요소를 추출 할 2D numpy 배열이있는 경우.브로드 캐스팅을 사용하여 2 차원 인덱스를 가진 2D numpy 배열에서 요소를 얻는 방법?
xy = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
idx = np.array([[0, 0], [1, 1], [2, 2]])
루프를위한 솔루션 :이 IDX는 튜플의 목록입니다하지만이 어디 해결책을 기대하지 않는 경우
print(elements)
>> [1, 5, 9]
나는 해결책을 발견 : 출력
elements = list()
for i in idx:
elements.append(xy[idx[i][0], xy[idx[i][1])
먼저 idx를 튜플로 변환해야합니다.
Numpy는 1d 인덱스에 대해 취할 수있는 방법이 있지만 배열을 수정하는 방법은 여전히 생각하고 있습니까? (심지어 올바른 해결책이라면) – dranobob
나는 이것이 중복으로 표시되었지만 링크 된 질문은 색인을 튜플로 변환한다는 것을 혼란 스럽다. (이것은 내가 피하려고하는 것이다). – dranobob
만세, 대답을 찾았습니다. 이후 나는 여기에 대답을 추가 할 수 없습니다. 해결책은 그냥 슬라이싱을 사용하는 것입니다 : element = xy [[idx [:, 0], idx [:, 1]] – dranobob