Array satu dimensi adalah bentuk paling sederhana dari ndarray: satu baris nilai yang berjejer rapi. Dalam matematika, struktur ini dikenal sebagai vector — misalnya vector harga semua produk di sebuah toko, atau vector pengukuran suhu dari jam ke jam. Bab ini membangun fondasi terpenting dalam course ini: mengoperasikan seluruh koleksi angka sekaligus tanpa menulis loop.
Cakupan bab ini:
- Membuat array 1-D dari list dan dengan
np.arange(). - Mengambil satu elemen lewat indexing.
- Melakukan aritmetika antar array (perkalian vector) dan agregasi dengan
sum().
Membuat array satu dimensi #
Ada dua cara pembuatan yang paling sering dipakai. Cara pertama, data berupa list yang eksplisit — cocok ketika nilainya telah ada di tangan kita, misalnya daftar harga yang diketik manual. Cara kedua, data berupa deret teratur yang dihasilkan np.arange() — cocok ketika pola nilainya berulang dan panjangnya bisa panjang:
import numpy as np
harga = np.array([15000, 20000, 12500])
suhu = np.arange(24, 31)
print(harga, harga.size)
print(suhu, suhu.size)Output yang Dihasilkan:
[15000 20000 12500] 3
[24 25 26 27 28 29 30] 7- Baris 3 (
np.array([...])): nilai harga ditulis langsung sebagai list, lalu disalin menjadi array 1-D. - Baris 4 (
np.arange(24, 31)): menghasilkan deret integer mulai dari 24 sampai batas atas 30; angka 31 tidak termasuk karena argumen stop bersifat eksklusif. - Baris 5-6 (
harga.size): atributsizemenghitung jumlah elemen (3 dan 7).
Mengambil elemen dengan indexing #
Elemen array 1-D diakses dengan tanda kurung siku dan indeks berbasis nol, persis seperti list. Indeks negatif menghitung dari belakang, dan elemen tunggal dapat ditimpa nilainya:
import numpy as np
suhu = np.arange(24, 31)
print("elemen pertama :", suhu[0])
print("elemen keempat :", suhu[3])
print("elemen terakhir:", suhu[-1])
suhu[0] = 25
print(suhu)Output yang Dihasilkan:
elemen pertama : 24
elemen keempat : 27
elemen terakhir: 30
[25 25 26 27 28 29 30]- Baris 4-6 (
suhu[0],suhu[3],suhu[-1]): indeks0menunjuk elemen pertama,3elemen keempat, dan-1elemen terakhir. - Baris 7 (
suhu[0] = 25): penugasan mengubah satu nilai di dalam buffer; baris 8 membuktikan elemen pertama kini bernilai 25.
Aritmetika vector: contoh total belanja #
Keunggulan utama array 1-D terlihat saat kita menghitung. Contoh klasik: menghitung total belanja dari daftar harga dan daftar jumlah. Dengan list, kita harus menulis loop dan mengalikan pasangan elemen satu per satu. Dengan NumPy, satu operator cukup:
import numpy as np
harga = np.array([15000, 20000, 12500])
jumlah = np.array([2, 1, 3])
total_per_item = harga * jumlah
print(total_per_item)
print("total belanja:", total_per_item.sum())Output yang Dihasilkan:
[30000 20000 37500]
total belanja: 87500- Baris 4 (
harga * jumlah): operator*bekerja element-wise — elemen ke-0 dikalikan elemen ke-0, elemen ke-1 dikalikan elemen ke-1, dan seterusnya, tanpa loop yang kita tulis sendiri. - Baris 5 (
print(total_per_item)): hasilnya array baru[30000 20000 37500]; array asli tidak berubah. - Baris 6 (
total_per_item.sum()): methodsum()mengagregasi seluruh elemen menjadi satu angka, yaitu 87500.
Pola element-wise yang sama berlaku untuk operator lain tanpa pengecualian:
harga + jumlahmenjumlahkan pasangan elemen (misalnya menambah biaya pengiriman per item).harga - diskonmengurangkan pasangan elemen (misalnya memotong diskon per item).total_per_item / jumlahmembagi pasangan elemen (misalnya menghitung harga rata-rata per unit).jumlah > 1membandingkan pasangan elemen dan menghasilkan arrayTrue/False.
Setelah terbiasa dengan satu operator, operator lainnya terasa identik: seluruhnya membaca dua array sejajar dan menghasilkan array baru dengan panjang yang sama.
Bab-bab berikutnya memperluas pola ini ke struktur dengan banyak axis, tetapi mekanisme element-wise di atas tetap menjadi intinya.