Penjelasan sederhana
Di Excel biasanya ditulis =SUM($D$2:D2) lalu ditarik ke bawah. cumsum() melakukan hal itu untuk seluruh kolom sekaligus.
Sintaks
df['kolom'].cumsum()
df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.
Contoh cumsum()
Data contoh: penjualan (sudah tersedia sebagai DataFrame)
DataFrame penjualan
| id | tanggal | karyawan_id | produk | kategori | qty | harga |
|---|---|---|---|---|---|---|
| 1 | 2026-01-05 | 4 | Laptop | Elektronik | 2 | 8500000 |
| 2 | 2026-01-12 | 6 | Printer | Elektronik | 1 | 2300000 |
| 3 | 2026-01-20 | 4 | Kursi Kantor | Furnitur | 5 | 1200000 |
| 4 | 2026-02-03 | 6 | Laptop | Elektronik | 1 | 8500000 |
| 5 | 2026-02-14 | 4 | Meja Kerja | Furnitur | 3 | 1750000 |
| 6 | 2026-02-25 | 5 | Kertas A4 | ATK | 20 | 55000 |
| 7 | 2026-03-02 | 6 | Kursi Kantor | Furnitur | 4 | 1200000 |
| 8 | 2026-03-10 | 4 | Printer | Elektronik | 2 | 2300000 |
| 9 | 2026-03-18 | 5 | Kertas A4 | ATK | 30 | 55000 |
| 10 | 2026-03-27 | 6 | Monitor | Elektronik | 3 | 1900000 |
penjualan['omzet'] = penjualan['qty'] * penjualan['harga']
penjualan['omzet_kumulatif'] = penjualan['omzet'].cumsum()
penjualan[['tanggal', 'produk', 'omzet', 'omzet_kumulatif']]
Hasil 10 baris × 4 kolom
| tanggal | produk | omzet | omzet_kumulatif |
|---|---|---|---|
| 2026-01-05 | Laptop | 17000000 | 17000000 |
| 2026-01-12 | Printer | 2300000 | 19300000 |
| 2026-01-20 | Kursi Kantor | 6000000 | 25300000 |
| 2026-02-03 | Laptop | 8500000 | 33800000 |
| 2026-02-14 | Meja Kerja | 5250000 | 39050000 |
| 2026-02-25 | Kertas A4 | 1100000 | 40150000 |
| 2026-03-02 | Kursi Kantor | 4800000 | 44950000 |
| 2026-03-10 | Printer | 4600000 | 49550000 |
| 2026-03-18 | Kertas A4 | 1650000 | 51200000 |
| 2026-03-27 | Monitor | 5700000 | 56900000 |
Setiap baris menunjukkan total omzet sejak transaksi pertama sampai transaksi itu. Baris terakhir sama dengan total omzet keseluruhan.
Cara kerjanya, langkah demi langkah
- Kolom omzet dihitung dulu.
cumsum()menjumlah omzet dari baris pertama sampai baris saat ini.- Hasilnya disimpan sebagai kolom omzet_kumulatif.
Dipakai untuk apa di kantor?
- Memantau pencapaian target dari hari ke hari.
- Analisis Pareto: berapa produk yang menyumbang 80% omzet.
Kesalahan yang sering terjadi
- Data belum diurutkan berdasarkan tanggal, sehingga total berjalannya tidak bermakna.
- Mengira cumsum mereset otomatis tiap bulan; untuk itu perlu groupby.
pct_change()