Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Melaksanakan Fungsi GroupBy dengan Cekap dalam NumPy?

Bagaimanakah Saya Boleh Melaksanakan Fungsi GroupBy dengan Cekap dalam NumPy?

Barbara Streisand
Lepaskan: 2024-11-28 16:50:11
asal
865 orang telah melayarinya

How Can I Efficiently Implement GroupBy Functionality in NumPy?

Melaksanakan GroupBy dengan NumPy

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

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:

  • Perpustakaan Berindeks NumPy: Pustaka luaran ini menyediakan fungsi kumpulan_mengikut yang boleh digunakan untuk tugas pengelompokan yang lebih kompleks.
  • Perpustakaan Pandas : Pustaka Pandas yang popular menawarkan fungsi kumpulan mengikut kumpulan yang elegan untuk manipulasi data, termasuk pengumpulan mengikut khusus lajur.
  • Python's Defaultdict: Kamus terbina dalam ini boleh digunakan untuk membuat kumpulan berdasarkan kekunci dan menyimpan nilai yang sepadan dalam senarai.

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!

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