Latar Belakang
Mengumpulkan data berdasarkan atribut khusus ialah tugas biasa dalam manipulasi data. Apabila menggunakan NumPy, perpustakaan pengkomputeran berangka yang popular untuk Python, mencari fungsi kumpulan mengikut eksplisit mungkin tidak mudah. Artikel ini menyediakan penyelesaian untuk mengumpulkan tatasusunan NumPy dengan lajur pertama menggunakan beberapa kaedah alternatif.
Pilihan Pemisahan NumPy
np.split(a[:,1], np.unique(a[:, 0], return_index=True)[1][1:])
Penyelesaian ini menggunakan fungsi pemisahan NumPy bersama-sama dengan fungsi unik untuk mengenal pasti nilai unik dalam lajur pertama. Pilihan return_index menyediakan indeks permulaan bagi setiap kumpulan, memudahkan operasi pemisahan.
Mengoptimumkan Kelajuan
Untuk meningkatkan kelajuan, pertimbangkan untuk mengisih tatasusunan terlebih dahulu untuk memastikan tertib menaik dalam lajur pertama. Pengoptimuman ini meningkatkan prestasi proses pengumpulan dengan ketara.
Analisis Kerumitan Masa
Kerumitan masa operasi isihan ialah O(n log n), dengan n mewakili bilangan baris dalam tatasusunan. Walau bagaimanapun, operasi pengelompokan berikutnya menggunakan fungsi pecahan NumPy mempunyai kerumitan masa linear O(n).
Alternatif Pengumpulan Lain
Walaupun NumPy tidak mempunyai fungsi kumpulan mengikut kumpulan khusus, ada pilihan lain tersedia:
Kesimpulan
Walaupun NumPy tidak menyokong a kumpulan mengikut fungsi, beberapa penyelesaian kreatif dan perpustakaan alternatif membolehkan operasi kumpulan yang cekap. Memilih kaedah yang paling sesuai bergantung pada keperluan khusus, saiz data dan tahap pengoptimuman yang dikehendaki.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi GroupBy dengan Cekap dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!