NumPy Array: Dasar-Dasar untuk Analis Data (2026)
TL;DR
NumPy array adalah struktur data buat nyimpen angka dalam bentuk grid yang tipenya seragam, jauh lebih cepat dari list Python buat hitungan besar. Kamu bikin pakai np.array(), cek bentuknya pakai .shape, dan operasi matematika berlaku ke semua elemen sekaligus tanpa perlu loop.
NumPy array itu wadah angka berbentuk grid dengan tipe data seragam. Dia jauh lebih cepat dari list Python buat hitungan, dan hampir semua tool analisis data dibangun di atasnya.
Kalau kamu mau serius ngolah data di Python, array ini pondasi yang perlu nempel duluan.
Aku bahas cara bikinnya, bedanya sama list, dan operasi dasar yang bakal kamu pakai tiap hari. Semua pakai contoh angka penjualan toko biar kebayang.
Apa itu NumPy array?
NumPy array adalah struktur data buat nyimpen angka dalam grid dengan tipe seragam. Bedanya sama list Python, array disimpan rapat di memori dan operasi matematikanya jalan ke semua elemen sekaligus. Ini bikin hitungan data besar berkali lipat lebih cepat.
NumPy singkatan dari Numerical Python. Dia library eksternal, jadi perlu diimport dulu. Konvensinya diimport sebagai np. Penjelasan lebih lengkap ada di glossary NumPy.
import numpy as npGimana cara bikin NumPy array?
Cara paling umum pakai np.array() dengan memasukkan list angka. Buat array 2 dimensi, masukkan list di dalam list. NumPy juga punya fungsi pintas buat bikin array nol, satu, atau deret angka.
import numpy as np
# array 1 dimensi
penjualan = np.array([120, 95, 210, 180])
# array 2 dimensi (3 baris, 2 kolom)
data = np.array([[120, 95],
[210, 180],
[150, 130]])
# array bantuan
nol = np.zeros(5) # [0. 0. 0. 0. 0.]
deret = np.arange(0, 10, 2) # [0 2 4 6 8]np.arange mirip range Python tapi hasilnya array. Berguna banget buat bikin sumbu atau index.
Apa beda NumPy array dan list Python?
List Python fleksibel dan bisa campur tipe, tapi lambat buat hitungan. NumPy array tipenya seragam, jadi operasi matematika berlaku ke semua elemen tanpa loop. Buat data kecil bedanya tipis, buat data besar array bisa puluhan kali lebih cepat.
Lihat bedanya waktu mau kali dua semua angka:
# list Python: butuh loop atau comprehension
harga_list = [120, 95, 210]
dobel_list = [x * 2 for x in harga_list]
# NumPy: langsung
harga_arr = np.array([120, 95, 210])
dobel_arr = harga_arr * 2 # array([240, 190, 420])| Aspek | List Python | NumPy array |
|---|---|---|
| Tipe data | boleh campur | harus seragam |
| Kecepatan hitung | lambat | cepat |
| Operasi ke semua elemen | butuh loop | langsung |
| Cocok buat | data campuran | angka banyak |
Apa itu shape, dtype, dan axis?
Shape itu bentuk array dalam bentuk tuple, misalnya (3, 2) berarti 3 baris 2 kolom. Dtype itu tipe data elemennya, kayak int64 atau float64. Axis itu arah operasi: axis 0 turun ke bawah antar baris, axis 1 ke samping antar kolom.
data = np.array([[120, 95],
[210, 180],
[150, 130]])
data.shape # (3, 2)
data.dtype # dtype('int64')
data.ndim # 2
# total per kolom (turun antar baris)
data.sum(axis=0) # array([480, 405])
# total per baris (ke samping antar kolom)
data.sum(axis=1) # array([215, 390, 280])Bingung soal axis ini normal di awal. Patokan gampangku: axis 0 itu arah baris tumbuh ke bawah, axis 1 arah kolom ke kanan.
Gimana cara akses dan slicing array?
Akses elemen pakai kurung siku dengan index mulai dari 0. Buat array 2 dimensi, tulis [baris, kolom]. Slicing pakai titik dua buat ambil rentang, sama kayak list tapi bisa dua arah sekaligus.
data = np.array([[120, 95],
[210, 180],
[150, 130]])
data[0, 1] # 95 (baris 0, kolom 1)
data[:, 0] # array([120, 210, 150]) semua baris, kolom 0
data[1:, :] # dua baris terakhir
data[data > 150] # array([210, 180]) boolean maskingBaris terakhir itu boolean masking. Kamu bisa saring array pakai kondisi, mirip filter di spreadsheet. Ini salah satu fitur array yang paling sering kepakai buat analisis.
Contoh kasus: rata-rata penjualan toko_berkah
Toko_berkah nyatet penjualan 3 cabang selama 4 minggu. Aku simpan dalam array 2 dimensi, baris buat cabang, kolom buat minggu.
penjualan = np.array([
[120, 95, 210, 180], # cabang A
[150, 130, 170, 200], # cabang B
[ 80, 110, 90, 140], # cabang C
])
penjualan.mean(axis=1) # rata-rata per cabang
# array([151.25, 162.5 , 105. ])
penjualan.sum(axis=0) # total per minggu
# array([350, 335, 470, 520])Dari sini ketahuan cabang B rata-rata paling tinggi di 162,5 juta per minggu, dan minggu ke-4 jadi minggu terkuat dengan total 520 juta. Semua ini dihitung tanpa satupun loop, cuma dua baris.
Kalau data kamu berasal dari file CSV, cara bacanya ke Python ada di tutorial pandas read_csv.
Kesalahan umum pemula NumPy
- Campur tipe data. Kalau kamu masukin angka dan teks, NumPy ubah semua jadi teks dan hitungan gagal. Jaga array tetap satu tipe.
- Salah paham axis. Tukar axis 0 dan 1 bikin total per baris ketuker jadi per kolom. Cek hasilnya di data kecil dulu.
- Integer overflow diam-diam. Array int bisa lewat batas dan balik ke angka negatif tanpa peringatan. Kalau angkanya besar, pakai dtype float atau int64.
- Salah kira slicing bikin salinan. Slice array itu view, bukan copy. Ubah slice bisa ngubah array asli. Pakai
.copy()kalau perlu terpisah.
FAQ
Perlu install apa buat pakai NumPy?
Install lewat pip pakai pip install numpy, atau langsung ada di Anaconda dan Google Colab. Habis itu import as np.
Array bisa berapa dimensi?
Bisa banyak dimensi. Umumnya analis pakai 1 dimensi buat deret dan 2 dimensi buat tabel angka.
Kapan pakai array, kapan pakai pandas?
Pakai array buat angka murni dan hitungan cepat. Pakai pandas kalau butuh label kolom, tipe campuran, dan data tabular.
Lanjut praktek
Tiga hal yang perlu nempel: bikin array pakai np.array, cek bentuk pakai .shape, dan operasi matematika berlaku ke semua elemen sekaligus.
Habis paham bikin array, langkah berikutnya biasanya ngubah bentuknya. Lanjut ke cara pakai reshape buat ngatur ulang dimensi array. Dokumentasi resmi lengkapnya ada di panduan pemula NumPy.
Mau latihan Python buat analisis data dari nol? Cek materi belajar di Ngulik Data biar kamu bisa langsung ngulik dataset sendiri.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
NumPy reshape: Ubah Bentuk Array (2026)
Fungsi reshape di NumPy ngatur ulang bentuk array tanpa ngubah datanya. Ini cara pakainya, arti angka -1, dan cara ngeflat array.
Alternatif iterrows yang Lebih Cepat di Pandas
iterrows nyaman ditulis tapi lambat. Ini urutan alternatif iterrows di pandas dari yang tercepat, plus benchmark biar kamu tau kapan pakai yang mana.
Vektorisasi vs Loop di Pandas: Mana Lebih Cepat
Loop iterrows di data 100 ribu baris bisa makan 3 detik. Versi vektornya kelar di bawah 5 milidetik. Ini cara ubah loop lambat jadi operasi kolom yang ngebut.