Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul dengan Cekap dalam Python?

Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul dengan Cekap dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-05 21:29:09959semak imbas

How Can I Efficiently Calculate Cumulative Sums in Python?

Pengiraan Jumlah Terkumpul yang Cekap dalam Senarai

Mengumpul jumlah elemen berturut-turut dalam senarai boleh menjadi tugas biasa dalam analisis data atau berangka pengiraan. Sebagai contoh, diberikan senarai selang masa time_interval = [4, 6, 12], kita mungkin ingin mencari jumlah kumulatif selang ini, menghasilkan t = [4, 10, 22].

Menggunakan pendekatan manual seperti yang ditunjukkan dalam soalan, walaupun berkesan, boleh menyusahkan untuk senarai besar. Walau bagaimanapun, penyelesaian yang lebih cekap tersedia menggunakan perpustakaan numpy:

import numpy as np

a = [4, 6, 12]

np.cumsum(a)
#array([ 4, 10, 22])

fungsi cumsum numpy memberikan kelebihan prestasi yang ketara berbanding pelaksanaan Python tulen, terutamanya untuk senarai besar. Penanda aras telah menunjukkan bahawa cumsum numpy mengatasi pengumpulan manual dengan susunan magnitud:

timeit list(accumu(range(1000)))
10000 loops, best of 3: 161 us per loop

timeit list(accumu(xrange(1000)))
10000 loops, best of 3: 147 us per loop

timeit np.cumsum(np.arange(1000))
100000 loops, best of 3: 10.1 us per loop

Oleh itu, jika anda kerap bekerja dengan tatasusunan berangka, menggunakan fungsi cumsum numpy sangat disyorkan untuk kecekapan dan kemudahan penggunaannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul dengan Cekap dalam Python?. 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