Bab 1 Pengenalan NumPy
Mengenal NumPy sebagai pustaka komputasi numerik open source untuk Python beserta konsep inti array dan ndarray-nya.
Buka → # Fungsi dan Kegunaan NumPyMenelusuri kelompok fungsi utama NumPy: operasi array, fungsi matematika, aljabar linear, bilangan acak, dan I/O data.
Buka → # NumPy vs Python ListMembandingkan list Python dan ndarray NumPy dari sisi kecepatan, memori, tipe data, dan kenyamanan penulisan kode.
Buka → # Ekosistem NumPyMemahami posisi NumPy sebagai fondasi bersama pandas, SciPy, Matplotlib, scikit-learn, dan pustaka sains data lainnya.
Buka → # Kapan Menggunakan NumPyMenentukan situasi yang cocok untuk NumPy, situasi yang lebih tepat pakai Python murni, dan batasan yang perlu diketahui.
Buka →Bab 2 Persiapan Lingkungan
Menginstal Python 3 dan memastikan perintah python3 dikenali di sistem operasi Anda sebelum memasang NumPy.
Buka → # Membuat Virtual EnvironmentMengisolasi dependensi project dengan venv agar instalasi NumPy tidak berbenturan dengan paket Python lain di sistem.
Buka → # Menginstal NumPyMemasang NumPy dengan pip atau conda dan memverifikasi hasil instalasinya dengan import sederhana.
Buka → # Menggunakan Python InterpreterMenggunakan interpreter Python sebagai sarana eksperimen cepat untuk mencoba fungsi-fungsi NumPy baris demi baris.
Buka → # Menggunakan Jupyter NotebookMenyiapkan Jupyter Notebook sebagai ruang kerja interaktif yang menggabungkan narasi, kode, dan hasil dalam satu dokumen.
Buka → # Memeriksa Versi NumPyMemeriksa versi NumPy yang terpasang lewat pip dan atribut __version__, serta memahami arti nomor versinya.
Buka → # Migrasi NumPy 1.x ke 2.xMemigrasi kode NumPy 1.x ke 2.x dengan mengenali API yang dihapus, alias baru, dan perubahan repr scalar.
Buka →Bab 3 Dasar Array
Memahami ndarray sebagai blok memori homogen dengan metadata bentuk dan tipe yang menjadi inti seluruh operasi NumPy.
Buka → # Membuat ArrayMengenal fungsi np.array dan berbagai cara dasar membuat array NumPy untuk memulai perhitungan.
Buka → # Array dari Python ListMengonversi list dan nested list Python menjadi array NumPy serta jebakan yang muncul saat bentuknya tidak seragam.
Buka → # Array Satu DimensiMembuat dan mengoperasikan array satu dimensi sebagai fondasi pemahaman struktur data NumPy.
Buka → # Array MultidimensiMembentuk array dua dimensi dan lebih, memahami urutan data baris demi baris, serta cara membaca bentuknya.
Buka → # Array zeros, ones, dan emptyMembuat array berisi nol, satu, atau nilai tak terdefinisi dengan zeros, ones, dan empty untuk kebutuhan inisialisasi.
Buka → # Array arange dan linspaceMembentuk deret angka teratur dengan arange dan linspace beserta perbedaan perilakunya pada nilai pecahan.
Buka → # Array Identity dan DiagonalMembuat matriks identitas dengan eye dan identity serta bekerja dengan diagonal matriks menggunakan diag.
Buka → # Membuat Array dengan Nilai TertentuMengisi array dengan nilai konstanta atau pola tertentu menggunakan full, full_like, zeros_like, dan ones_like.
Buka →Bab 4 Struktur dan Tipe Data
Membaca dan mengubah pemahaman bentuk array lewat atribut shape yang menyimpan panjang setiap dimensinya.
Buka → # Atribut ndimMenghitung jumlah dimensi array dengan atribut ndim dan mengenali hubungannya dengan panjang tuple shape.
Buka → # Atribut sizeMenghitung jumlah total elemen array dengan atribut size dan hubungannya dengan hasil perkalian shape.
Buka → # Atribut dtypeMemeriksa tipe data elemen array lewat atribut dtype dan memahami notasi nama tipe NumPy seperti int64 dan float64.
Buka → # Atribut itemsize dan nbytesMengukur konsumsi memori array per elemen dan total menggunakan atribut itemsize dan nbytes.
Buka → # Tipe Data NumerikMengenal keluarga tipe numerik NumPy: bilangan bulat berbeda lebar, floating point, dan complex beserta rentang nilainya.
Buka → # Tipe Data BooleanMenggunakan tipe bool NumPy pada array, pemicu konversi otomatis dari angka, dan perannya dalam boolean indexing.
Buka → # Tipe Data String dan ObjectMemahami dtype <U untuk string Unicode dan object untuk data campuran beserta konsekuensi performanya.
Buka → # Konversi Tipe DataMengubah tipe data array dengan astype dan parameter dtype, termasuk perilaku saat nilai tidak dapat dikonversi.
Buka → # Memilih Tipe Data yang TepatMerangkum kaidah memilih dtype: kecukupan rentang, kebutuhan presisi, konsumsi memori, dan kompatibilitas operasi.
Buka → # Bilangan KompleksBekerja dengan complex64 dan complex128 beserta real, imag, conj, angle, dan emath untuk perhitungan bilangan kompleks.
Buka → # Aturan Promosi TipeMemprediksi dtype hasil operasi dengan result_type, promote_types, dan can_cast sesuai kaidah promosi tipe NumPy 2.x.
Buka →Bab 5 String dan Karakter
Mengenal StringDType sebagai dtype string variabel-panjang NumPy 2.x dan namespace np.dtypes untuk membuat dtype secara eksplisit.
Buka → # np.strings DasarMenggunakan fungsi dasar np.strings seperti upper, lower, strip, dan zfill untuk mengolah array string secara vectorized.
Buka → # Pencarian dan Penggantian StringMencari, menghitung, dan mengganti teks pada array string dengan find, count, replace, startswith, dan endswith dari np.strings.
Buka → # np.char Legasi dan PerbandinganMembandingkan namespace legasi np.char dengan np.strings dan Python str untuk memilih pendekatan yang tepat serta memigrasi kode lama.
Buka → # Pembersihan Data TeksMenerapkan alur pembersihan data teks yang kotor secara vectorized dengan menggabungkan fungsi string dan mask boolean.
Buka →Bab 6 Indexing dan Slicing
Mengambil satu elemen dari array menggunakan indeks dan memahami hasilnya sebagai view, bukan salinan.
Buka → # Indexing Array Satu DimensiMenggunakan indeks numerik pada array satu dimensi, dari akses tunggal hingga kesalahan out of bounds yang umum terjadi.
Buka → # Indexing Array MultidimensiMengakses elemen array dua dimensi dan lebih dengan notasi [baris, kolom] serta pola berpikirnya untuk dimensi lebih tinggi.
Buka → # Slicing ArrayMengambil rentang elemen dengan sintaks start:stop:step pada array satu dimensi maupun multidimensi.
Buka → # Negative IndexingMenghitung indeks dari belakang menggunakan angka negatif untuk mengambil elemen akhir atau membalik urutan data.
Buka → # Mengambil Baris dan KolomMengambil satu baris, satu kolom, atau kombinasi keduanya dari array dua dimensi dengan teknik slicing dan indexing.
Buka → # Fancy IndexingMemilih banyak elemen sekaligus menggunakan array indeks, termasuk pola pasangan baris-kolom dan bentuk hasilnya.
Buka → # Boolean IndexingMenyaring elemen array menggunakan mask boolean yang dihasilkan operasi perbandingan untuk seleksi data kondisional.
Buka → # Memilih Elemen dengan whereMenggunakan np.where untuk menemukan posisi elemen dan memilih nilai antara dua pilihan berdasarkan kondisi.
Buka → # View vs CopyMembedakan view dan copy, mengenali operasi mana yang mengembalikan tampilan memori yang sama, dan menghindari perubahan tak disengaja.
Buka → # Keluarga take, put, choose, compress, extractMemilih elemen array secara fungsional dengan take, put, choose, compress, dan extract beserta kapan lebih tepat daripada fancy indexing.
Buka →Bab 7 Operasi Array
Menjalankan penjumlahan, pengurangan, perkalian, dan pembagian array secara elemen demi elemen.
Buka → # Operasi PerbandinganMembandingkan dua array atau array dengan angka sehingga menghasilkan array boolean per elemen.
Buka → # Operasi BooleanMenggabungkan kondisi dengan operator & | ~ dan fungsi all serta any untuk kesimpulan logika atas array.
Buka → # Operasi Elemen demi ElemenMemahami prinsip element-wise: bentuk operan yang sama, perilaku pada array multidimensi, dan error saat bentuk tak cocok.
Buka → # Operasi MatematikaMenerapkan fungsi matematika seperti abs, sqrt, exp, dan log pada seluruh elemen array sekaligus.
Buka → # Fungsi Universal (ufunc)Mengenal ufunc sebagai mesin di balik operasi NumPy: tipe-tipe ufunc, parameter keluaran, dan metode pendukungnya.
Buka → # Operasi In-placeMengubah isi array langsung dengan operator augmented dan parameter out untuk menghemat memori pada data besar.
Buka → # Operator dan Fungsi NumPyMemetakan hubungan operator Python dengan fungsi NumPy yang setara, misalnya + dengan np.add dan ** dengan np.power.
Buka → # Penanganan Overflow dan PresisiMengenali overflow pada tipe bulat dan pembulatan presisi pada floating point serta cara mencegahnya memengaruhi hasil.
Buka → # Operasi BitwiseMengoperasikan bit bilangan bulat dengan bitwise_and, bitwise_or, left_shift, dan packbits untuk flag serta pola biner.
Buka →Bab 8 Manipulasi Bentuk Array
Mengubah bentuk array tanpa mengubah datanya menggunakan reshape dan aturan jumlah elemen yang harus terpenuhi.
Buka → # flatten dan ravelMengubah array multidimensi menjadi satu dimensi dengan flatten yang menyalin data dan ravel yang mengembalikan view bila bisa.
Buka → # transposeMenukar urutan dimensi array dengan transpose dan atribut T untuk kebutuhan aljabar maupun pengaturan orientasi data.
Buka → # swapaxes dan moveaxisMengatur posisi dimensi secara presisi dengan swapaxes dan moveaxis pada array tiga dimensi ke atas.
Buka → # expand_dimsMenyisipkan sumbu baru berukuran satu dengan expand_dims dan np.newaxis agar broadcasting berjalan sesuai rencana.
Buka → # squeezeMenghilangkan sumbu berukuran satu dengan squeeze sebagai pasangan dari expand_dims beserta jebakannya.
Buka → # Menambah dan Menghapus DimensiMerangkum teknik menambah dan menghapus dimensi: newaxis, expand_dims, squeeze, dan aturan memilih sumbu.
Buka → # Memeriksa Kompatibilitas BentukMembandingkan shape dua array sebelum operasi, memahami pesan broadcast error, dan menerapkan perbaikan yang lazim.
Buka → # Padding dengan np.padMenambahkan tepi array dengan np.pad untuk mode constant, edge, reflect, dan wrap pada kasus citra dan jendela bergerak.
Buka → # roll, rot90, dan PenggeseranMenggeser dan memutar array secara sirkular dengan roll dan rot90 serta membedakan resize dari reshape.
Buka →Bab 9 Broadcasting dan Vectorization
Mengenal broadcasting sebagai mekanisme NumPy mengoperasikan array dengan bentuk berbeda tanpa menyalin data.
Buka → # Aturan BroadcastingMembedah dua aturan resmi broadcasting: perataan bentuk dari belakang dan syarat dimensi kompatibel.
Buka → # Broadcasting pada Array MultidimensiMenerapkan aturan broadcasting pada array dua dan tiga dimensi dengan visualisasi perluasan dimensi.
Buka → # Broadcasting dengan ScalarMenghitung array dengan satu angka: scalar dianggap array berbentuk kosong yang kompatibel dengan semua bentuk.
Buka → # Broadcasting dengan Dimensi BaruMembentuk kolom vektor dan baris vektor dengan np.newaxis untuk pola broadcasting yang paling sering dipakai.
Buka → # Pengenalan VectorizationMemahami vectorization sebagai gaya penulisan operasi pada seluruh array tanpa loop eksplisit.
Buka → # Loop Python vs VectorizationMembandingkan waktu eksekusi loop Python dan operasi ter-vektorisasi untuk memahami sumber percepatannya.
Buka → # Conditional Ter-vektorisasiMenggantikan if-else per elemen dengan np.where dan np.select agar keputusan logika ikut ter-vektorisasi.
Buka → # Menghindari Broadcasting yang Tidak EfisienMengenali pola broadcasting yang membengkakkan memori dan menerapkan alternatif perhitungan yang lebih hemat.
Buka →Bab 10 Agregasi dan Statistika
Menghitung total dan hasil kali elemen array dengan sum dan prod, termasuk agregasi per axis dan nilai awal.
Buka → # min, max, argmin, dan argmaxMenemukan nilai terkecil dan terbesar array beserta posisi indeksnya dengan min, max, argmin, dan argmax.
Buka → # mean, median, dan percentileMenghitung ukuran pemusatan data dengan mean dan median serta mengenal percentile sebagai ukuran posisi.
Buka → # Variance dan Standard DeviationMengukur penyebaran data dengan var dan std, memahami parameter ddof, serta menghubungkannya dengan mean.
Buka → # Operasi Berdasarkan AxisMengatur arah agregasi array multidimensi dengan parameter axis dan membaca hasilnya tanpa kebingungan.
Buka → # Cumulative Sum dan ProductMembuat akumulasi berjalan dengan cumsum dan cumprod untuk analisis pertumbuhan dan tren kumulatif.
Buka → # Counting dan FrekuensiMenghitung kemunculan nilai dengan bincount, histogram, dan kombinasi unique dengan return_counts.
Buka → # quantile dan percentileMemotong distribusi data pada posisi tertentu dengan quantile dan percentile beserta pilihan metode interpolasinya.
Buka → # Korelasi dan KovariansMengukur hubungan dua variabel dengan cov dan corrcoef serta membaca bentuk matriks hasilnya.
Buka → # Weighted AverageMenghitung rata-rata berbobot dengan np.average dan mengenali perilakunya bila bobot tidak diberikan.
Buka → # digitize dan Histogram 2DMengelompokkan nilai ke dalam bin dengan digitize dan memetakan distribusi dua variabel menggunakan histogram2d.
Buka →Bab 11 Manipulasi dan Penggabungan Array
Menyambung dua array atau lebih sepanjang satu axis dengan np.concatenate dan syarat kesesuaian bentuknya.
Buka → # stack dan vstackMenumpuk array menjadi dimensi baru dengan stack dan menempelkan array searah baris dengan vstack.
Buka → # hstack dan dstackMenggabungkan array searah kolom dengan hstack dan searah kedalaman dengan dstack untuk data multidimensi.
Buka → # column_stack dan row_stackMengubah vektor satu dimensi menjadi kolom atau baris lalu menggabungkannya dengan column_stack dan row_stack.
Buka → # split dan array_splitMemecah array menjadi beberapa bagian dengan split dan array_split beserta perilaku pembagian tak meratanya.
Buka → # append, insert, dan deleteMenambah dan menghapus elemen array dengan append, insert, dan delete beserta biaya penyalinannya.
Buka → # repeat dan tileMenggandakan elemen atau blok array dengan repeat dan tile untuk membentuk pola data yang berulang.
Buka → # Sorting ArrayMengurutkan array dengan sort dan argsort, termasuk pengurutan per baris, per kolom, dan pada beberapa kunci.
Buka → # unique dan Set OperationsMengambil nilai unik array dan melakukan operasi himpunan: union, intersect, setdiff, dan setxor.
Buka → # Searching dan FilteringMencari posisi elemen dengan argwhere, nonzero, dan searchsorted lalu memfilter data berdasarkan kondisi.
Buka →Bab 12 Operasi Matriks
Meninjau matriks sebagai array dua dimensi: baris, kolom, ordo, dan cara NumPy merepresentasikannya.
Buka → # Perkalian Elemen vs Perkalian MatriksMembedakan operator * yang mengalikan elemen demi elemen dengan @ yang mengalikan matriks secara aljabar.
Buka → # Matrix MultiplicationMengalikan matriks dengan operator @ dan np.matmul beserta aturan kesesuaian ukuran dan sifat tidak komutatifnya.
Buka → # Dot ProductMenghitung dot product vektor dan matriks dengan np.dot serta kaitannya dengan perkalian matriks.
Buka → # Inner dan Outer ProductMenggunakan inner dan outer product untuk menghitung proyeksi dan tabel kombinasi antar vektor.
Buka → # Transpose MatriksMemanfaatkan transpose pada operasi matriks: sifat (AB)^T, vektor kolom, dan perhitungan yang memanfaatkannya.
Buka → # Diagonal dan TraceMengambil diagonal matriks dengan np.diag dan np.diagonal serta menjumlahkannya dengan np.trace.
Buka → # Norm dan MagnitudeMenghitung panjang vektor dan ukuran matriks dengan np.linalg.norm untuk norm L1, L2, dan lainnya.
Buka → # Operasi Matriks BatchMengalikan banyak pasangan matriks sekaligus dengan matmul pada array tiga dimensi berisi tumpukan matriks.
Buka → # einsumMerumuskan operasi multidimensi ringkas dengan notasi einsum: dari dot product sampai perhitungan per baris.
Buka → # tensordot dan kronMengkontraksi tensor dengan tensordot dan membangun pola blok berulang dengan produk Kronecker kron.
Buka →Bab 13 Linear Algebra
Mengenal submodul numpy.linalg, fungsi-fungsi utamanya, dan kapan submodul ini menjadi alat yang tepat.
Buka → # Penyelesaian Sistem Persamaan LinearMenerjemahkan sistem persamaan linear menjadi bentuk Ax = b dan menyelesaikannya dengan np.linalg.solve.
Buka → # Inverse MatriksMenghitung inverse matriks dengan np.linalg.inv dan memahami kapan inverse ada serta kapan sebaiknya dihindari.
Buka → # DeterminantMenghitung determinant dengan np.linalg.det dan menafsirkan nilai nol sebagai tanda matriks singular.
Buka → # Eigenvalue dan EigenvectorMencari eigenvalue dan eigenvector dengan np.linalg.eig dan membaca hasilnya, termasuk varian untuk matriks simetris.
Buka → # Singular Value DecompositionMemecah matriks dengan SVD menggunakan np.linalg.svd dan melihat penerapannya pada kompresi data sederhana.
Buka → # Matrix RankMenghitung rank matriks dengan np.linalg.matrix_rank untuk menilai banyaknya informasi bebas dalam sistem.
Buka → # Least SquaresMenyelesaikan sistem yang tidak memiliki solusi eksak dengan np.linalg.lstsq, dasar dari regresi linear.
Buka → # DecompositionsMenggunakan dekomposisi QR dan Cholesky sebagai alat pemecahan persoalan yang stabil dan efisien.
Buka → # Stabilitas NumerikMengenali pengaruh condition number dan urutan operasi terhadap kualitas hasil perhitungan linear algebra.
Buka → # Pseudo-inverse dan pinvMengatasi matriks singular dan rank-deficient dengan np.linalg.pinv sebagai generalisasi inverse untuk least squares.
Buka → # multi_dot, matrix_power, dan slogdetMengoptimalkan rantai perkalian matriks dengan multi_dot, memangkatkan matriks, dan menghitung log-determinan aman overflow.
Buka →Bab 14 Bilangan Acak
Mengenal modul numpy.random, perbedaan API lama dan baru, serta alasan Generator menjadi cara yang disarankan.
Buka → # default_rng dan GeneratorMembuat Generator dengan default_rng dan mengenal BitGenerator PCG64 yang berada di baliknya.
Buka → # Reproducibility dan Random SeedMenghasilkan angka acak yang sama setiap eksekusi dengan seed pada Generator untuk pengujian dan berbagi hasil.
Buka → # Random Integer dan SamplingMembuat bilangan bulat acak dengan integers dan mengambil sampel dengan atau tanpa pengembalian.
Buka → # Uniform DistributionMembangkitkan angka acak berdistribusi uniform dengan random dan mengenali karakter penyebarannya.
Buka → # Normal DistributionMembangkitkan data berdistribusi normal dengan normal dan standard_normal serta menghubungkannya dengan mean dan std.
Buka → # Binomial dan Poisson DistributionMemodelkan jumlah keberhasilan dengan binomial dan jumlah kejadian per interval dengan Poisson.
Buka → # random choiceMemilih elemen dari array secara acak dengan choice, termasuk pembobotan peluang tiap pilihan.
Buka → # permutation dan shuffleMengacak urutan array dengan permutation dan shuffle serta membedakan hasil salinan dan perubahan langsung.
Buka → # Simulasi Monte CarloMengestimasi nilai yang sulit dihitung eksak dengan simulasi Monte Carlo berbasis angka acak NumPy.
Buka → # Distribusi Eksponensial, Gamma, BetaMenyimulasikan waktu tunggu dan proporsi dengan distribusi eksponensial, gamma, dan beta dari Generator.
Buka → # Multivariate Normal dan KovariansMembangkitkan sampel multivariat normal dengan kovarians tertentu dan mengaitkannya dengan dekomposisi Cholesky.
Buka → # Bootstrap dan ResamplingMengestimasi interval kepercayaan statistik dengan bootstrap resampling berbasis Generator yang dapat direproduksi.
Buka →Bab 15 Missing Values dan Validasi
Mengenal konstanta np.nan dan np.inf, asal-usulnya dalam perhitungan, dan perilaku khasnya saat dihitung.
Buka → # Memeriksa Nilai ValidMenghitung banyaknya nilai valid dan tidak valid dalam array sebagai langkah awal penilaian kualitas data.
Buka → # isfinite, isnan, dan isinfMendeteksi elemen khusus dengan isfinite, isnan, dan isinf serta membaca pola hasil ketiganya.
Buka → # NaN-aware AggregationMenghitung statistik yang mengabaikan NaN dengan nansum, nanmean, dan saudarinya.
Buka → # Filtering Nilai Tidak ValidMenyaring elemen NaN dan inf keluar dari array menggunakan boolean mask hasil deteksi.
Buka → # Mengganti Nilai TertentuMengganti NaN atau nilai lain dengan angka pengganti secara aman menggunakan boolean indexing dan np.where.
Buka → # Masking dan Conditional SelectionMenyusun mask dari beberapa kondisi untuk seleksi data yang presisi dan mudah dibaca ulang.
Buka → # Penanganan Data Numerik yang Tidak ValidMerangkai alur pembersihan data numerik: deteksi, keputusan penggantian, dan verifikasi ulang hasilnya.
Buka → # Kontrol Error Global seterrMengatur kebijakan error floating-point global dengan seterr dan geterr, dari ignore hingga raise, untuk data yang kritis.
Buka →Bab 16 Fungsi Matematika Lanjutan
Menghitung sin, cos, tan beserta konversi derajat-radian dan fungsi kebalikannya pada array.
Buka → # Fungsi Eksponensial dan LogaritmaMenerapkan exp, expm1, log, log10, log2, dan log1p pada array untuk pertumbuhan dan skala data.
Buka → # Pembulatan dan TruncationMembulatkan nilai array dengan round, around, dan fix serta membedakan aturan pembulatan NumPy.
Buka → # floor, ceil, dan modfMengarahkan pembulatan ke bawah dan ke atas dengan floor dan ceil serta memisahkan bagian pecahan dengan modf.
Buka → # Clamp dan clipMembatasi nilai array dalam rentang tertentu menggunakan np.clip untuk menjaga data tetap valid.
Buka → # Fungsi PiecewiseMembentuk aturan nilai berbeda per rentang input dengan np.piecewise dan np.select.
Buka → # Interpolasi DasarMengisi nilai di antara titik data dengan np.interp untuk melengkapi data yang hilang pada deret.
Buka → # Perhitungan dengan Presisi TerbatasMengamati efek presisi float32 dan float64 terhadap hasil perhitungan serta cara menjaga akurasi.
Buka →Bab 17 Transformasi Fourier
Memahami DFT sebagai dekomposisi sinyal menjadi komponen sinus dan cara np.fft.fft menghitungnya secara efisien.
Buka → # fftfreq dan Spektrum FrekuensiMembangun spektrum frekuensi dengan np.fft.fftfreq dan np.abs untuk mengenali frekuensi dominan sebuah sinyal.
Buka → # rfft untuk Sinyal RiilMemanfaatkan rfft dan irfft untuk sinyal riil yang hanya membutuhkan setengah spektrum sehingga lebih hemat memori.
Buka → # Filtering Frekuensi dan ifftMenyaring noise dengan menolkan komponen frekuensi tertentu lalu mengembalikan sinyal bersih menggunakan ifft.
Buka → # Windowing dan Kebocoran SpektralMeredam kebocoran spektral dengan window functions seperti hanning, hamming, blackman, dan kaiser sebelum FFT.
Buka → # fft2d dan fftshiftMenerapkan FFT dua dimensi pada data citra sintetis dan menata ulang spektrum dengan fftshift.
Buka →Bab 18 Input Output dan Penyimpanan
Menyimpan satu array ke berkas .npy dengan np.save dan memahami metadata yang ikut tersimpan.
Buka → # Memuat Array dari npyMemuat kembali array dari berkas .npy dengan np.load beserta pelestarian bentuk dan tipe datanya.
Buka → # Menyimpan Array dengan npzMengemas banyak array dalam satu arsip .npz dengan np.savez dan np.savez_compressed.
Buka → # Memuat Arsip npzMembuka arsip .npz dengan np.load dan mengakses array di dalamnya lewat atribut maupun kunci.
Buka → # Membaca dan Menulis CSVMenukar data array dengan format CSV menggunakan savetxt dan loadtxt serta mengatasi data berlabel.
Buka → # Membaca Data TeksMembaca berkas teks dengan struktur tak rapi menggunakan genfromtxt dan parameter penunjangnya.
Buka → # Format Biner dan TeksMembandingkan format biner dan teks dari sisi ukuran, kecepatan, dan pelestarian tipe data array.
Buka → # Memory-mapped ArrayMengakses berkas besar tanpa memuat seluruh isinya ke memori menggunakan np.memmap.
Buka → # Interoperabilitas dengan PythonMengubah array menjadi list dan bytes, serta menyimpan array dengan modul pickle Python.
Buka → # Keamanan saat Memuat DataMemahami risiko allow_pickle=True saat memuat data dan menerapkan praktik memuat yang aman.
Buka →Bab 19 Performa dan Efisiensi
Mengukur durasi kode NumPy secara adil dengan time.perf_counter dan timeit serta menjaga pengukuran tetap andal.
Buka → # Memahami Memory LayoutMengenal susunan data C-order dan F-order di memori serta pengaruhnya terhadap kecepatan operasi.
Buka → # Contiguous vs Non-contiguousMembedakan array contiguous dan non-contiguous lewat flags dan melihat dampaknya pada performa.
Buka → # Strides dan Memory AccessMembaca atribut strides untuk memahami cara NumPy melangkah di memori saat mengakses elemen.
Buka → # Mengurangi Penggunaan MemoriMenekan konsumsi memori array lewat pemilihan dtype, operasi in-place, dan penghapusan data tak terpakai.
Buka → # Memilih dtype yang EfisienMenghemat memori dan waktu dengan dtype yang tepat: int32 vs int64, float32 vs float64, dan trade-off presisinya.
Buka → # Menghindari Copy ArrayMengenali operasi yang menyalin data dan menerapkan kebiasaan view serta out untuk menghemat pekerjaan.
Buka → # Vectorization vs LoopMengukur selisih performa loop dan vectorization pada berbagai ukuran data untuk menentukan kapan vektorisasi menguntungkan.
Buka → # Optimasi Operasi ArrayMerangkai pola optimasi praktis: kurangi array sementara, manfaatkan out, gabungkan operasi, dan ukur ulang.
Buka → # Kapan NumPy Bukan Pilihan TerbaikMengenali situasi ketika NumPy kurang pas: data lebih kecil dari biaya overhead, data sangat besar, atau struktur tak beraturan.
Buka → # BLAS Threading dan Lingkungan EksekusiMemahami peran BLAS di balik operasi matriks, mengontrol thread dengan variabel lingkungan, dan menghindari oversubscription.
Buka →Bab 20 Interoperabilitas Ekosistem Python
Mengonversi antara list Python dan ndarray dua arah serta konsekuensi data yang ikut tersalin.
Buka → # NumPy dan pandasMenukar data antara ndarray dan Series atau DataFrame pandas serta pembedaan NaN dan None di antara keduanya.
Buka → # NumPy dan MatplotlibMenampilkan data array sebagai grafik dengan Matplotlib dan menyimpan hasilnya tanpa lingkungan tampilan grafis.
Buka → # NumPy dan SciPyMelengkapi NumPy dengan SciPy untuk kebutuhan statistik, optimasi, dan sinyal yang tidak disediakan NumPy.
Buka → # NumPy dan scikit-learnMenyiapkan array NumPy sebagai input model scikit-learn dan membaca kembali hasil prediksinya.
Buka → # NumPy dan PyTorchMengonversi ndarray menjadi tensor PyTorch dan sebaliknya, termasuk pola pemeriksaan ketersediaan pustaka.
Buka → # NumPy dan TensorFlowMenghubungkan array NumPy dengan tensor TensorFlow serta pola integrasi yang aman bila pustaka belum terpasang.
Buka → # Array Conversion dan Memory SharingMembedakan konversi yang menyalin data dan yang berbagi memori menggunakan salinan nol antar pustaka.
Buka → # Array API CompatibilityMengenal inisiatif Python Array API dan np.array_api sebagai langkah penyeragaman pustaka array.
Buka →Bab 21 Advanced NumPy
Membuat array dengan field bertipe berbeda menggunakan structured dtype untuk data mirip tabel.
Buka → # Record ArrayMengakses field structured array sebagai atribut menggunakan recarray dan mempertimbangkan biayanya.
Buka → # Masked ArrayMenyembunyikan elemen tertentu dari perhitungan dengan masked array tanpa menghapus datanya.
Buka → # datetime64 dan timedelta64Menyimpan dan menghitung data tanggal-waktu secara ter-vektorisasi dengan dtype datetime64 dan timedelta64.
Buka → # Polynomial OperationsMembuat dan mengevaluasi polinomial dengan numpy.polynomial untuk fitting dan evaluasi fungsi.
Buka → # Custom dtype dan Array CreationMendefinisikan dtype sendiri dari field gabungan dan membuat array sesuai struktur data domain.
Buka → # ufunc LanjutanMenjelajahi kemampuan ufunc lanjutan: metode reduce, accumulate, outer, at, dan pembuatan ufunc sendiri.
Buka → # Array IterationMenjelajah nditer dan pola iterasi efisien pada array multidimensi ketika vectorization tidak memungkinkan.
Buka → # NumPy Print OptionsMengatur tampilan array di output dengan np.set_printoptions agar hasil panjang tetap mudah dibaca.
Buka → # Interoperability dengan CMemahami tata letak memori ndarray sebagai jembatan interoperabilitas dengan kode C dan ctypes.
Buka → # Mengubah Struktur Record recfunctionsMengubah susunan field structured array dengan recfunctions, dari structured_to_unstructured hingga merge_arrays.
Buka →Bab 22 Pengujian dan Debugging
Menafsirkan pesan error khas NumPy, dari IndexError hingga ValueError, untuk menemukan akar masalah lebih cepat.
Buka → # Debugging Shape MismatchMenelusuri ketidakcocokan shape antar array dan menerapkan langkah diagnosis yang sistematis.
Buka → # Debugging dtype MismatchMendeteksi masalah yang berakar pada tipe data tak sesuai, dari casting diam-diam hingga error saat dioperasikan.
Buka → # Floating Point ComparisonMembandingkan bilangan floating point dengan aman menggunakan allclose dan isclose, bukan operator ==.
Buka → # numpy.testingMengenal modul numpy.testing beserta fungsi asersi khusus untuk menguji hasil perhitungan array.
Buka → # assert_array_equalMenguji kesamaan dua array secara elemen demi elemen dengan assert_array_equal dan varian ndim-nya.
Buka → # assert_allcloseMenguji hasil numerik dengan toleransi relatif dan absolut menggunakan assert_allclose.
Buka → # Pengujian Operasi NumerikMerancang kasus uji untuk operasi array: kasus batas, nilai khusus, dan properti matematis yang harus dipertahankan.
Buka → # Reproducible Numerical TestsMembuat pengujian numerik yang hasilnya konsisten antar eksekusi dengan seed dan kontrol lingkungan.
Buka →Bab 23 Penerapan NumPy
Melihat pola penggunaan NumPy dalam alur data science: eksplorasi, pembersihan, dan ringkasan data.
Buka → # NumPy untuk Machine LearningMembangun model machine learning sederhana, regresi linear dengan gradient descent, hanya dengan NumPy.
Buka → # NumPy untuk Deep LearningMemahami komponen deep learning: forward pass, fungsi aktivasi, dan backpropagation dalam bentuk NumPy.
Buka → # NumPy untuk Pemrosesan GambarMengolah gambar sebagai array: membaca piksel, mengubah kecerahan, memangkas, dan merotasi citra sederhana.
Buka → # NumPy untuk SimulasiMenyusun simulasi berbasis angka acak untuk memodelkan proses yang mengandung ketidakpastian.
Buka → # NumPy untuk Analisis Deret WaktuMenghitung statistik bergerak, perubahan persentase, dan korelasi antar deret waktu menggunakan NumPy.
Buka → # Batasan NumPy untuk Data BesarMengenali batas memori dan skala data yang menuntut pustaka lain, serta strategi mengaturnya.
Buka →Bab 24 Proyek
Menganalisis data suhu dan curah hujan tahunan dengan NumPy: pembersihan, statistik, hingga pola musiman.
Lihat proyek → # Proyek: Analisis Harga KomoditasMengolah deret harga harian komoditas: perubahan harga, statistik volatilitas, dan simulasi sederhana.
Lihat proyek → # Proyek: Simulasi Monte CarloMengestimasi nilai pi dan probabilitas proses nyata dengan simulasi Monte Carlo berbasis numpy.random.
Lihat proyek → # Proyek: Analisis Matriks dan Sistem LinearMerumuskan persoalan alokasi produksi sebagai sistem persamaan linear lalu menyelesaikannya dengan numpy.linalg.
Lihat proyek → # Proyek: Benchmark Operasi ArrayMerancang dan menjalankan benchmark loop Python versus NumPy vectorization beserta analisis hasilnya.
Lihat proyek →Bab 25 Sumber Belajar
Mengenali bagian-bagian numpy.org yang wajib dibookmark: user guide, API reference, dan release notes.
Buka → # Referensi APIMembaca halaman referensi API NumPy secara efektif untuk menemukan parameter dan perilaku fungsi.
Buka → # Buku dan ReferensiMengumpulkan buku dan materi rujukan yang membahas NumPy secara mendalam dan terstruktur.
Buka → # Tutorial dan ArtikelMemilih tutorial dan artikel berkualitas untuk melanjutkan belajar NumPy secara mandiri.
Buka → # DatasetMenemukan dataset yang layak dipakai untuk berlatih mengolah data dengan NumPy.
Buka → # GlosariumMerangkum istilah teknis NumPy beserta artinya sebagai rujukan cepat saat membaca materi lain.
Buka →