Rumah >pembangunan bahagian belakang >Tutorial Python >Indeks berbilang elemen dalam tatasusunan numpy berbilang dimensi
Saya ingin mengekstrak elemen tatasusunan numpy berbilang dimensi yang diberikan menggunakan tatasusunan diindeks yang lain. Tetapi ia tidak berkelakuan seperti yang saya harapkan. Berikut adalah contoh mudah:
import numpy as np a = np.random.random((3, 3, 3)) idx = np.asarray([[0, 0, 0], [0, 1, 2]]) b = a[idx] print(b.shape) # expect (2, ), got (2, 3, 3, 3)
Kenapa ini berlaku? Bagaimanakah saya harus mengubah suai kod untuk membuat b
仅包含两个元素:a[0, 0, 0]
和 a[0, 1, 2]
?
Anda sedang mencari pengindeksan lanjutan numpy
https://www.php.cn/link/2d661a763280f48803f3c9ba8ba0e00b
Dalam kes anda, anda perlu menggunakan idx
pada setiap paksi:
a[idx[:,0], idx[:, 1], idx[:, 2]].shape == (2,) # True
Atas ialah kandungan terperinci Indeks berbilang elemen dalam tatasusunan numpy berbilang dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!