Skip to content

Commit

Permalink
wip: add numpy sections
Browse files Browse the repository at this point in the history
  • Loading branch information
ariefrahmansyah committed Aug 1, 2024
1 parent 96b9c3c commit 4a76ccd
Show file tree
Hide file tree
Showing 7 changed files with 105 additions and 3 deletions.
4 changes: 3 additions & 1 deletion docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ parts:
- file: python/python_fundamentals/modules_packages
- caption: NumPy
chapters:
- file: numpy/numpy
- file: numpy/intro_to_numpy
- file: numpy/numpy_quickstart
- file: numpy/numpy_fundamentals
- caption: Pandas
chapters:
- file: pandas/pandas
Expand Down
22 changes: 22 additions & 0 deletions docs/numpy/intro_to_numpy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Introduction to NumPy

## Apa itu NumPy?

NumPy adalah library fundamental untuk scientific computing di Python. NumPy digunakan untuk melakukan operasi matematika pada multi-dimensional array object, beserta objek turunannya seperti masked arrays dan matrix.

NumPy menyediakan fungsi-fungsi yang efisien untuk operasi matematika pada array, seperti operasi linear algebra, operasi statistik, shape manimpulation, sorting, selecting, I/O, dan lainnya.

Core dari Numpy adalah objek `ndarray` yang mengenkapsulasi array n-dimensi dengan elemen-elemen yang seragam, dimana operasi-operasinya dilakukan pada kode yang telah tekompilasi.

Referensi: https://numpy.org/doc/stable/user/whatisnumpy.html#what-is-numpy

## Mengapa menggunakan NumPy?

Python memiliki built-in `list` yang dapat digunakan untuk menyimpan data dalam bentuk array. Namun, `list` tidak efisien untuk melakukan operasi matematika pada data yang besar dan lambat untuk diproses.

Berikut beberapa perbedaan antara Numpy array dengan Python list:

1. Numpy array memiliki ukuran yang tetap, sedangkan Python list memiliki ukuran yang dinamis. Perubahan pada ukuran Numpy array akan menghasilkan array baru dan menghapus array lama.
2. Numpy array memiliki elemen-elemen yang seragam, sehingga ukuran mereka di dalam memori akan tetap sama.
3. Numpy array mendukung operasi matematika pada array ukuran besar secara efisien, sedangkan Python list tidak.
4. Bertambah banyaknya library scientific computing di Python yang menggunakan NumPy sebagai basisnya.
1 change: 0 additions & 1 deletion docs/numpy/numpy.md

This file was deleted.

13 changes: 13 additions & 0 deletions docs/numpy/numpy_fundamentals.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# NumPy Fundamentals

Dokumen-dokumen dari situs resmi NumPy di bawah ini akan membantu kamu untuk lebih memahami konsep, design decisions, dan technical constrains dari NumPy.

- [Array creation](https://numpy.org/doc/stable/user/basics.creation.html)
- [Indexing on ndarrays](https://numpy.org/doc/stable/user/basics.indexing.html)
- [I/O with NumPy](https://numpy.org/doc/stable/user/basics.io.html)
- [Data types](https://numpy.org/doc/stable/user/basics.types.html)
- [Broadcasting](https://numpy.org/doc/stable/user/basics.broadcasting.html)
- [Copies and views](https://numpy.org/doc/stable/user/basics.copies.html)
- [Working with Arrays of Strings And Bytes](https://numpy.org/doc/stable/user/basics.strings.html)
- [Structured arrays](https://numpy.org/doc/stable/user/basics.rec.html)
- [Universal functions (ufunc) basics](https://numpy.org/doc/stable/user/basics.ufuncs.html)
11 changes: 11 additions & 0 deletions docs/numpy/numpy_quickstart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# NumPy Quickstart

Untuk mulai menggunakan NumPy dan mempelajari konsep dasar NumPy, kamu dapat membaca tutorial dari halaman resmi NumPy:

[NumPy quickstart](https://numpy.org/doc/stable/user/quickstart.html)

Tutorial di atas akan membantu kamu memahami tentang:

1. Perbedaan antara one-, two-, dan n-dimensional arrays di NumPy
2. Bagaimana cara menggunakan operasi-operasi aljabar linear untuk n-dimensional arrays tanpa menggunakan for-loops
3. Memaham properti `axis` dan `shape` dari n-dimensional arrays
56 changes: 55 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jupyterlab = "^4.2.4"
black = "^24.4.2"
isort = "^5.13.2"
jupyterlab-code-formatter = "^3.0.0"
numpy = "^2.0.1"


[build-system]
Expand Down

0 comments on commit 4a76ccd

Please sign in to comment.