Kembali ke Kursus
AI018 Professional

Panduan Pengguna NumPy

Panduan pengantar komprehensif dan teknis tentang NumPy, mencakup instalasi, manipulasi array, indeksing, broadcasting, serta integrasi dengan C/C++.

4.9
15.0h
891 siswa
0 suka
Kecerdasan Buatan
Mulai Belajar

Gambaran Umum Kursus

📚 Ringkasan Konten

Gambaran pengantar komprehensif dan panduan teknis tentang NumPy, mencakup instalasi, manipulasi array, indeksing, broadcasting, serta integrasi dengan C/C++.

Kelola dasar-dasar komputasi ilmiah dalam Python dengan panduan resmi NumPy.

Penulis: Komunitas NumPy

Ucapan Terima Kasih: Ditulis oleh komunitas NumPy

🎯 Tujuan Pembelajaran

  1. Menjelaskan apa itu NumPy dan mengidentifikasi perannya dalam ekosistem Python ilmiah.
  2. Menjelaskan mengapa NumPy jauh lebih cepat daripada loop Python standar menggunakan konsep vektorisasi.
  3. Menjalankan perintah instalasi untuk berbagai lingkungan termasuk Pip, Conda, dan Raspberry Pi.
  4. Mengidentifikasi dan menafsirkan atribut utama ndarray seperti ndim, shape, dan dtype.
  5. Menjalankan pembuatan dan manipulasi array menggunakan fungsi seperti linspace, reshape, vstack, dan hstack.
  6. Menerapkan operasi elemen per elemen, fungsi universal (ufuncs), dan solver aljabar linear pada dataset numerik.
  7. Mengelola presisi data dan mencegah kesalahan overflow menggunakan tipe skalar NumPy serta alat informasi (iinfo, finfo).
  8. Menerapkan pengambilan data fleksibel dari disk menggunakan genfromtxt dengan pemisah kustom, header, dan pemilihan kolom.
  9. Menerapkan Aturan Broadcasting Umum untuk memprediksi dan mengendalikan interaksi antara array dengan bentuk berbeda.
  10. Mengelola referensi memori dan menghindari "jebakan" dalam subclass ndarray khusus menggunakan atribut .base.

🔹 Pelajaran 1: Pengantar dan Persiapan Lingkungan

Ringkasan: Pelajaran ini memperkenalkan NumPy sebagai pustaka dasar untuk komputasi ilmiah dalam Python, menjelaskan keunggulan kinerjanya melalui vektorisasi. Siswa akan belajar cara menginstal pustaka ini di berbagai platform (Windows, Raspberry Pi, Conda, PyCharm) dan menyelesaikan hambatan instalasi umum seperti ImportError dengan mengelola variabel lingkungan dan dependensi sistem.

Hasil Pembelajaran:

  • Mendefinisikan NumPy dan mengidentifikasi perannya dalam ekosistem Python ilmiah.
  • Menjelaskan mengapa NumPy jauh lebih cepat daripada loop Python standar menggunakan konsep vektorisasi.
  • Menjalankan perintah instalasi untuk berbagai lingkungan termasuk Pip, Conda, dan Raspberry Pi.

🔹 Pelajaran 2: Dasar-Dasar Inti dan Manipulasi Array

Ringkasan: Pelajaran ini memberikan pengantar komprehensif terhadap objek ndarray NumPy, mencakup atribut inti, metode pembuatan, dan operasi matematis dasar. Pelajaran ini juga meluas ke topik lanjutan seperti indeksing canggih (berbasis boolean dan integer), manipulasi bentuk, serta rutin aljabar linear penting. Di akhir modul ini, peserta akan mampu menyimpan, mentransformasi, dan menganalisis struktur data multi-dimensi secara efisien.

Hasil Pembelajaran:

  • Mengidentifikasi dan menafsirkan atribut utama ndarray seperti ndim, shape, dan dtype.
  • Menjalankan pembuatan dan manipulasi array menggunakan fungsi seperti linspace, reshape, vstack, dan hstack.
  • Menerapkan operasi elemen per elemen, fungsi universal (ufuncs), dan solver aljabar linear pada dataset numerik.

🔹 Pelajaran 3: Penanganan Data Lanjutan dan Broadcasting

Ringkasan: Pelajaran ini membahas mekanisme lanjutan NumPy, dengan fokus pada manajemen tipe data yang tepat, penanganan overflow, serta operasi I/O canggih menggunakan genfromtxt. Siswa akan menguasai logika internal Broadcasting untuk operasi aritmetika, nuansa urutan byte tingkat memori, serta pembuatan array struktur/record untuk dataset heterogen. Bagian akhir menjelaskan ekstensibilitas NumPy melalui kontainer array khusus dan protokol formal untuk subclassing ndarray.

Hasil Pembelajaran:

  • Mengelola presisi data dan mencegah kesalahan overflow menggunakan tipe skalar NumPy serta alat informasi (iinfo, finfo).
  • Menerapkan pengambilan data fleksibel dari disk menggunakan genfromtxt dengan pemisah kustom, header, dan pemilihan kolom.
  • Menerapkan Aturan Broadcasting Umum untuk memprediksi dan mengendalikan interaksi antara array dengan bentuk berbeda.

🔹 Pelajaran 4: Ekspektasi Numerik dan Interfacing Bahasa

Ringkasan: Pelajaran ini mengeksplorasi nuansa lanjutan subclassing NumPy, khususnya mengenai manajemen memori dan kompatibilitas turunan. Pelajaran ini juga meninjau bagaimana NumPy menerapkan standar floating-point IEEE 754 untuk menangani nilai khusus dan ekspektasi numerik, diakhiri dengan mekanisme untuk menghubungkan array NumPy dengan bahasa tingkat rendah seperti C, C++, dan Fortran.

Hasil Pembelajaran:

  • Mengelola referensi memori dan menghindari "jebakan" dalam subclass ndarray khusus menggunakan atribut .base.
  • Menjaga kompatibilitas turunan dengan menerapkan __array_wrap__ dan tanda tangan metode secara benar.
  • Mengidentifikasi dan memanipulasi nilai khusus IEEE 754 (NaN, Inf) serta mengonfigurasi perilaku ekspektasi numerik global.

🔹 Pelajaran 5: Memperluas NumPy dengan C-API

Ringkasan: Pelajaran ini mengeksplorasi berbagai metode untuk memperluas fungsi NumPy dengan berinteraksi dengan bahasa terkompilasi seperti C, C++, dan Fortran. Pelajaran ini mencakup alat otomatis seperti f2py dan Cython, wrapping manual dengan ctypes, pembuatan fungsi universal (ufuncs) berkinerja tinggi, serta teknik lanjutan C-API untuk iterasi array, tipe data khusus, dan subtyping ndarray.

Hasil Pembelajaran:

  • Membandingkan dan menerapkan berbagai metode untuk "menghubungkan" kode terkompilasi dengan Python (f2py, Cython, ctypes).
  • Membuat dan mendaftarkan fungsi universal NumPy (ufuncs) khusus untuk tipe data tunggal maupun ganda, termasuk array struktur.
  • Menggunakan C-API NumPy untuk melakukan iterasi array secara efisien, menangani broadcasting, serta mendefinisikan tipe data atau subtype ndarray yang ditentukan pengguna.