Aritmetika Per Elemen
Jumlahkan, kurangi, kalikan, dan bagi array elemen demi elemen, lalu pahami cara NumPy menghindari perulangan Python eksplisit
Aritmetika Per Elemen adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.
Masalah dengan Loop Python
Menjumlahkan list dengan Python murni memerlukan loop yang lambat. NumPy melakukannya dalam C yang cepat — sering kali 10 hingga 100 kali lebih cepat. Trik ini disebut vektorisasi. ⚡
# Python list approach -- slow
a = [1, 2, 3, 4]
b = [10, 20, 30, 40]
result = [x + y for x, y in zip(a, b)]
print(result) # [11, 22, 33, 44]
# NumPy approach -- fast
import numpy as np
na, nb = np.array(a), np.array(b)
print(na + nb) # [11 22 33 44]Penjumlahan dan Pengurangan
Operator + dan - bekerja per elemen pada array dengan shape yang sama, dengan memasangkan posisi yang sesuai dalam satu proses cepat.
import numpy as np
a = np.array([10, 20, 30])
b = np.array([1, 2, 3])
print(a + b) # [11 22 33]
print(a - b) # [ 9 18 27]Perkalian dan Pembagian
Gunakan * dan / untuk perkalian dan pembagian per elemen — ingat, * bukan perkalian matriks. Pembagian selalu menghasilkan float, bahkan jika bilangan awalnya bilangan bulat.
import numpy as np
a = np.array([10, 20, 30])
b = np.array([2, 4, 5])
print(a * b) # [ 20 80 150]
print(a / b) # [5. 5. 6.]
print(a // b) # [5 5 6]
print(a % b) # [0 0 0]Aritmetika Skalar (Pratinjau Broadcasting)
Tambahkan satu angka ke array dan NumPy akan menerapkannya pada setiap elemen. Itulah broadcasting dalam bentuk paling sederhana — cocok untuk menggeser atau menskalakan data.
import numpy as np
a = np.array([1, 2, 3, 4, 5])
print(a + 10) # [11 12 13 14 15]
print(a * 2) # [ 2 4 6 8 10]
print(a ** 2) # [ 1 4 9 16 25]
print(a / 10) # [0.1 0.2 0.3 0.4 0.5]Perpangkatan dan Akar Kuadrat
Gunakan ** untuk menaikkan setiap elemen ke suatu pangkat. Untuk akar kuadrat, gunakan ufunc np.sqrt — ufunc ini dibuat dalam C dan lebih cepat daripada melakukan loop di Python.
import numpy as np
a = np.array([1.0, 4.0, 9.0, 16.0])
print(a ** 0.5) # [1. 2. 3. 4.]
print(np.sqrt(a)) # [1. 2. 3. 4.]
print(a ** 2) # [ 1. 16. 81. 256.]Operator Perbandingan Menghasilkan Array Boolean
Bandingkan array dengan >, ==, atau < dan Anda akan mendapatkan array boolean berisi nilai True/False — dasar untuk memfilter data.
import numpy as np
a = np.array([3, 7, 2, 9, 1])
print(a > 4) # [False True False True False]
print(a == 2) # [False False True False False]
print(a >= 3) # [ True True False True False]Operator Logika pada Array Boolean
Untuk menggabungkan array boolean, gunakan simbol &, |, dan ~ — bukan kata and/or/not. Bungkus setiap kondisi dengan tanda kurung agar tidak terjadi masalah prioritas operator.
import numpy as np
a = np.array([3, 7, 2, 9, 1])
mask = (a > 2) & (a < 8)
print(mask) # [ True True False False False]
print(a[mask]) # [3 7]Operasi In-Place dengan +=
Operator seperti += mengubah array secara langsung, sehingga menghemat memori dengan tidak membuat salinan baru. Pastikan dtype kompatibel — Anda tidak dapat menambahkan 0.5 ke array int dengan cara ini.
import numpy as np
a = np.array([1.0, 2.0, 3.0])
a += 10.0
print(a) # [11. 12. 13.]
a *= 2.0
print(a) # [22. 24. 26.]Aritmetika Array 2-D
Operasi matematika per elemen bekerja dengan cara yang sama pada array 2-D: tambahkan dua matriks dengan shape yang sama dan setiap sel dijumlahkan dengan pasangan selnya. Anda tidak memerlukan loop bersarang.
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A + B)
# [[ 6 8]
# [10 12]]
print(A * B) # element-wise, NOT matrix multiply
# [[ 5 12]
# [21 32]]Promosi dtype dalam Operasi Campuran
Campurkan dua dtype dan NumPy akan mempromosikan keduanya ke tipe yang lebih aman, sehingga tidak ada informasi yang hilang — int ditambah float menghasilkan float. Perhatikan bahwa penggunaan memori dapat meningkat tanpa disadari.
import numpy as np
a = np.array([1, 2, 3], dtype=np.int32)
b = np.array([0.5, 1.5, 2.5], dtype=np.float64)
c = a + b
print(c) # [1.5 3.5 5.5]
print(c.dtype) # float64Nilai Absolut dan Tanda
Gunakan np.abs untuk nilai absolut dan np.sign untuk mendapatkan -1, 0, atau +1 pada setiap elemen. Keduanya adalah ufunc cepat yang umum digunakan dalam fungsi loss dan langkah normalisasi.
import numpy as np
a = np.array([-3, 0, 4, -7, 2])
print(np.abs(a)) # [3 0 4 7 2]
print(np.sign(a)) # [-1 0 1 -1 1]Pemeriksaan Singkat
Uji pemahaman Anda tentang aritmetika per elemen NumPy dari pelajaran ini.
Rangkuman Pelajaran
Anda sudah memahaminya! NumPy melakukan matematika per elemen tanpa loop, skalar di-broadcast ke seluruh array, dan perbandingan menghasilkan array boolean. Berikutnya: slicing dan pengindeksan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Aritmetika Per Elemen” gratis?
Ya — teks lengkap “Aritmetika Per Elemen” 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 “Aritmetika Per Elemen”?
Jumlahkan, kurangi, kalikan, dan bagi array elemen demi elemen, lalu pahami cara NumPy menghindari perulangan Python eksplisit 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 3 dari 4.
Berapa lama pelajaran “Aritmetika Per Elemen” 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
- Membuat Array NumPy
- Atribut dan Pemeriksaan Array
- Aritmetika Per Elemen
- Pemotongan dan Pengindeksan Array