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

Bagaimana untuk Mengisih Baris Array NumPy mengikut Lajur Tertentu?

DDD
DDDasal
2024-11-28 21:27:18838semak imbas

How to Sort a NumPy Array's Rows by a Specific Column?

Mengisih Tatasusunan dalam NumPy mengikut Lajur

Mengisih tatasusunan mengikut lajur ialah tugas biasa dalam analisis dan manipulasi data. NumPy menyediakan cara yang cekap untuk melaksanakan operasi ini.

Soalan:

Memandangkan tatasusunan NumPy dengan berbilang lajur, bagaimanakah anda boleh mengisih barisnya mengikut lajur tertentu?

Contoh:

Pertimbangkan tatasusunan berikut a:

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

Kami ingin mengisih baris a mengikut lajur kedua (lajur 1, diindeks daripada 0) untuk mendapatkan:

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

Jawapan:

Untuk mengisih mengikut lajur kedua, gunakan yang berikut kod:

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

Ungkapan ini mencapai hasil yang diingini kerana:

  1. a[:, 1] memilih lajur kedua a.
  2. argsort() mengembalikan indeks yang akan mengisih lajur dalam tertib menaik.
  3. Mengindeks a dengan indeks ini mengisih baris a dengan sewajarnya.

Oleh itu, pendekatan ini menyediakan cara yang mudah dan cekap untuk mengisih tatasusunan NumPy mengikut mana-mana lajur yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Baris Array 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