Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Tatasusunan NumPy mengikut Lajur Tertentu?

Bagaimana untuk Mengisih Tatasusunan NumPy mengikut Lajur Tertentu?

Patricia Arquette
Patricia Arquetteasal
2024-12-04 17:54:11675semak imbas

How to Sort a NumPy Array by a Specific Column?

Mengisih Tatasusunan NumPy Berdasarkan Lajur Tertentu

Pertanyaan ini menangani keperluan untuk mengisih tatasusunan NumPy mengikut lajur ke-n yang ditetapkan. Untuk menggambarkan, mari kita bekerja dengan tatasusunan 'a':

import numpy as np
a = np.array([[9, 2, 3],
           [4, 5, 6],
           [7, 0, 5]])

Matlamat kami ialah untuk mengisih baris matriks 'a' berdasarkan lajur kedua, menghasilkan:

array([[7, 0, 5],
       [9, 2, 3],
       [4, 5, 6]])

Untuk mencapai matlamat ini, kita boleh memanfaatkan keupayaan untuk menghiris tatasusunan NumPy berdasarkan indeks dan memanfaatkan fungsi argsort. Kod di bawah menunjukkan penyelesaian:

sorted_a = a[a[:, 1].argsort()]

Memecahkan kod ini:

  1. a[:, 1]: Ini memilih lajur kedua ' a'.
  2. .argsort(): Ini menjana tatasusunan indeks yang mewakili tertib diisih unsur dalam lajur kedua.
  3. a[a[:, 1].argsort()]: Ini menyusun semula baris 'a' mengikut indeks yang diisih , membawa kepada hasil yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan NumPy mengikut Lajur Tertentu?. 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