Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Elemen daripada Tatasusunan 2D Menggunakan Indeks daripada Tatasusunan Lain?

Bagaimana untuk Mengekstrak Elemen daripada Tatasusunan 2D Menggunakan Indeks daripada Tatasusunan Lain?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 11:40:021063semak imbas

How to Extract Elements from a 2D Array Using Indices from Another Array?

Menggunakan Tatasusunan NumPy sebagai Indeks untuk Dimensi Kedua Tatasusunan Lain

Untuk mengekstrak elemen tertentu daripada tatasusunan 2D berdasarkan indeks yang disediakan oleh tatasusunan kedua, anda boleh memanfaatkan pengindeksan tatasusunan integer NumPy.

Pertimbangkan ini contoh:

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]], dtype='int')

Untuk mendapatkan output yang diingini berikut:

C = np.array([[1], [2], [5]])

Anda boleh menggunakan kaedah berikut:

A[np.arange(A.shape[0]),B.ravel()]

Cara ia Berfungsi:

  • np.arange(A.shape[0]) mencipta tatasusunan yang mengandungi indeks untuk setiap baris A.
  • B.ravel() meratakan B, mengalih keluar sebarang dimensi tambahan.
  • Tatasusunan indeks gabungan [np.arange(A.shape[0]),B .ravel()] menentukan indeks baris dan lajur dalam A untuk diekstrak.

Sebagai alternatif, jika B ialah tatasusunan 1D atau senarai indeks lajur, anda boleh melangkau meratakan dengan .ravel():

A[np.arange(A.shape[0]),B]

Kaedah ini menyediakan pendekatan mudah untuk mengekstrak elemen daripada tatasusunan 2D menggunakan indeks yang diperoleh daripada tatasusunan lain.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Elemen daripada Tatasusunan 2D Menggunakan Indeks daripada Tatasusunan Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn