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

Bagaimana untuk Mengisih Tatasusunan NumPy mengikut Lajur Tertentu?

Patricia Arquette
Lepaskan: 2024-12-04 17:54:11
asal
661 orang telah melayarinya

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]])
Salin selepas log masuk

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

array([[7, 0, 5],
       [9, 2, 3],
       [4, 5, 6]])
Salin selepas log masuk

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()]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan