나는 선택에 질적 인 문제가 있습니다. 배열 b에서 배열 A에있는 특정 인덱스를 선택하고 싶습니다.Numpy가 모양 불일치를 선택하십시오
a
Out[54]:
array([[3, 2, 2],
[0, 0, 2]], dtype=int64)
b
Out[55]:
array([[[ 6., 1., 8., 9., 3., 8., 5.],
[ 6., 1., 5., 8., 2., 2., 10.],
[ 6., 1., 1., 0., 9., 3., 6.]],
[[ 11., 3., 8., 9., 3., 8., 5.],
[ 12., 7., 5., 8., 2., 2., 10.],
[ 8., 9., 1., 0., 9., 3., 6.]]])
np.choose(a,b)
ValueError: shape mismatch: objects cannot be broadcast to a single shap
numpy의 설명서에는 선택 배열이 있습니다. a와 모든 선택 사항은 동일한 모양으로 방송 가능해야합니다. 선택 항목 자체가 배열 인 경우 (권장되지 않음) 가장 바깥 쪽 치수 (즉, choices.shape [0]에 해당하는 항목)가 "시퀀스"를 정의하는 것으로 간주됩니다.
ndarray에서 선택하는 것은 좋지 않지만 어쨌든이 작업을 수행하려면 우아한 numpy 방법이 있습니까? 모든 제안을 부탁드립니다.
예상 출력은 다음과 같습니다 것 같습니다
[[9,5,1], [11,12,1]]
'b'의 2 차원이 2 인 것처럼 보이지만 'a'의 값은 3까지 올라갑니다. 선택 작업에서 무엇을 기대합니까? – Ajean
예상 출력은 [[9,5,1], [11,12,1]] – Nickpick