0Pricing
Pandas & NumPy Academy · Pelajaran

Fungsi Agregasi

Hitung jumlah, rata-rata, minimum, maksimum, dan simpangan baku pada seluruh array atau sepanjang sumbu tertentu

Fungsi Agregasi adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Pandas & NumPy Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.

Apa Itu Agregasi?

Agregasi merangkum array menjadi beberapa nilai ringkasan, seperti total atau rata-rata. Fungsi bawaan NumPy melakukan ini dalam C dengan cepat, tanpa memerlukan perulangan.

import numpy as np

a = np.array([3, 7, 2, 9, 1, 6])
print('sum:', a.sum())     # 28
print('mean:', a.mean())   # 4.666...
print('max:', a.max())     # 9

sum() dan cumsum()

Gunakan a.sum() untuk mendapatkan total setiap elemen, dan np.cumsum untuk mendapatkan total berjalan—setiap posisi berisi jumlah semua elemen hingga posisi tersebut.

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a.sum())       # 15
print(np.cumsum(a))  # [ 1  3  6 10 15]

mean() dan std()

a.mean() memberikan rata-rata, sedangkan a.std() memberikan simpangan baku. Secara default, std membagi dengan N; berikan ddof=1 jika data Anda merupakan sampel.

import numpy as np

a = np.array([2.0, 4.0, 4.0, 4.0, 5.0, 5.0, 7.0, 9.0])
print('mean:', a.mean())           # 5.0
print('std (pop):', a.std())       # 2.0
print('std (sample):', a.std(ddof=1))  # 2.138...

min() dan max() dengan argmin/argmax

a.min() dan a.max() memberikan nilai terkecil dan terbesar. Ingin mendapatkan posisinya? argmin dan argmax mengembalikan indeks masing-masing.

import numpy as np

a = np.array([3, 7, 2, 9, 1, 6])
print('min:', a.min(), 'at index', a.argmin())  # 1 at 4
print('max:', a.max(), 'at index', a.argmax())  # 9 at 3

Melakukan Agregasi Sepanjang Sumbu

Argumen axis menentukan dimensi yang akan diringkas: axis=0 memberikan satu nilai per kolom, sedangkan axis=1 memberikan satu nilai per baris. Jika tidak disertakan, seluruh array akan diringkas.

import numpy as np

m = np.array([[1, 2, 3],
              [4, 5, 6]])

print(m.sum(axis=0))  # [5 7 9]  -- column sums
print(m.sum(axis=1))  # [ 6 15]  -- row sums
print(m.mean(axis=0)) # [2.5 3.5 4.5]

keepdims=True untuk Mempertahankan Bentuk

Agregasi sepanjang sumbu menghapus dimensi tersebut. Tambahkan keepdims=True untuk mempertahankannya dengan ukuran 1—hal ini penting jika Anda ingin hasilnya digunakan dalam broadcasting nanti.

import numpy as np

m = np.array([[1, 2, 3],
              [4, 5, 6]])

row_sums = m.sum(axis=1, keepdims=True)
print(row_sums.shape)  # (2, 1)

normed = m / row_sums
print(normed.round(3))
# [[0.167 0.333 0.5  ]
#  [0.267 0.333 0.4  ]]

Agregasi yang Aman terhadap NaN

Satu NaN membuat sum atau mean biasa menghasilkan NaN. Versi yang aman terhadap NaN—np.nansum, np.nanmean, dan lainnya—cukup melewati nilai yang hilang.

import numpy as np

a = np.array([1.0, np.nan, 3.0, np.nan, 5.0])
print(a.sum())          # nan
print(np.nansum(a))     # 9.0
print(np.nanmean(a))    # 3.0
print(np.nanmax(a))     # 5.0

np.median dan np.percentile

np.median memberikan nilai tengah dan jauh lebih tahan terhadap pencilan daripada mean. np.percentile menemukan nilai di bawahnya terdapat persentase data tertentu.

import numpy as np

a = np.array([1, 2, 3, 4, 100])  # outlier at 100
print('mean:', a.mean())          # 22.0  -- skewed
print('median:', np.median(a))    # 3.0   -- robust
print(np.percentile(a, [25, 50, 75]))  # [ 2.  3.  4.]

np.any() dan np.all()

np.any mengembalikan True jika setidaknya satu elemen memenuhi kondisi; np.all mengembalikan True hanya jika setiap elemen memenuhinya. Keduanya dapat memeriksa setiap baris atau kolom.

import numpy as np

a = np.array([1, -2, 3, -4])
print(np.any(a < 0))    # True   (some are negative)
print(np.all(a > 0))    # False  (not all are positive)

# Row-wise check on 2D
m = np.array([[1, 2], [-1, 3]])
print(np.all(m > 0, axis=1))  # [ True False]

np.count_nonzero()

np.count_nonzero menghitung jumlah elemen yang bukan nol—atau jumlah elemen yang bernilai True. Berikan kondisi seperti a > 5 untuk menghitung kecocokan dengan mudah.

import numpy as np

a = np.array([3, 0, 7, 0, 2, 0])
print(np.count_nonzero(a))         # 3
print(np.count_nonzero(a > 2))     # 2  (elements 3 and 7)

m = np.array([[0, 1], [1, 1]])
print(np.count_nonzero(m, axis=0)) # [1 2]

np.unique() untuk Nilai Berbeda

np.unique mengembalikan nilai-nilai berbeda yang telah diurutkan. Tambahkan return_counts=True untuk mendapatkan jumlah kemunculan setiap nilai—tabel frekuensi secara instan.

import numpy as np

a = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
uniq, counts = np.unique(a, return_counts=True)
print(uniq)    # [1 2 3 4 5 6 9]
print(counts)  # [2 1 2 1 2 1 1]

Pemeriksaan Cepat

Uji pemahaman Anda tentang fungsi agregasi NumPy dari pelajaran ini.

Ringkasan Pelajaran

Kerja bagus! Agregasi NumPy meringkas array dalam C dengan cepat, argumen axis menentukan bagian yang diringkas, dan versi yang aman terhadap NaN melewati nilai yang hilang. Berikutnya: broadcasting.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fungsi Agregasi” gratis?

Ya — teks lengkap “Fungsi Agregasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Pandas & NumPy Academy, upgrade ke CoddyKit PRO. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Fungsi Agregasi”?

Hitung jumlah, rata-rata, minimum, maksimum, dan simpangan baku pada seluruh array atau sepanjang sumbu tertentu Kamu berlatih Pandas & NumPy Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Pandas & NumPy Academy?

Tidak diperlukan pengalaman sebelumnya. Pandas & NumPy Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Fungsi Agregasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Pandas & NumPy Academy ini?

Ya. Setiap pelajaran Pandas & NumPy Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Fungsi Universal (ufunc)
  2. Fungsi Agregasi
  3. Aturan Broadcasting
  4. Masking Boolean dan Pengindeksan Lanjutan
← Kembali ke Pandas & NumPy Academy