Modul Bahan Ajar Slide - Modul 04 - Pertemuan 04 - PK2
Modul Bahan Ajar Slide - Modul 04 - Pertemuan 04 - PK2
2
Modul ke:
<
← MENU AKHIRI >
→
1. Numpy
Pada NumPy telah disediakan universal
functions (ufunc) yaitu fungsi yang dapat
melakukan operasi pada NumPy array dengan
eksekusi elemen-demi-elemen.
ufunc merupakan sebuah
‘vectorized’ wrapper untuk sebuah fungsi yang
memiliki input dan output yang sepesifik.
Contoh dari ufunc misalkan fungsi sin dan cos.
<
← MENU AKHIRI >
→
1. Numpy
Element pada Array
Array Indexing
Indeks pada suatu array dimulai pada indeks ke-
0. Untuk mengakses element pada array, kita
menggunakan indeks sebagai alamat elemen
pada array.
<
← MENU AKHIRI >
→
1. Numpy
Kita dapat melakukan assign nilai baru pada
suatu element berdasarkan alamat indeks. Maka,
setelah dilakukan assign nilai element pada
indeks ke-0 berganti menjadi 10.
<
← MENU AKHIRI >
→
1. Numpy
Maka, nilai baru tersebut akan dipaksa menjadi
tipe int32 sesuai dengan tipe data pada array.
<
← MENU AKHIRI >
→
1. Numpy
Multi-Dimensional Arrays
NumPy array memudahkan kita untuk membuat
array multi-dimensi.
<
← MENU AKHIRI >
→
1. Numpy
Fungsi shape pada array multi-dimensi
menghasilkan tuple berisikan (jumlah baris,
jumlah kolom).
<
← MENU AKHIRI >
→
1. Numpy
Untuk mengetahui jumlah elemen pada array
multi-dimensi menggunakan fungsi size.
<
← MENU AKHIRI >
→
1. Numpy
Untuk mengetahui jumlah dimensi dari array
multi-dimensi menggunakan fungsi ndim.
Jumlah dimensi pada array a adalah 2, karena
merupakan array 2-dimensi.
<
← MENU AKHIRI >
→
1. Numpy
Pada array multi-dimensi kita dapat mengakses
nilai elemen berdasarkan indeks dengan pemisah
tanda koma [,].
Misalkan kita ingin mendapatkan data pada baris
ke-1 dan kolom ke-3 dari array a, maka dilakukan
perintah a[1, 3].
<
← MENU AKHIRI >
→
1. Numpy
Misalkan, kita akan mengganti data pada baris
ke-1 dan kolom ke-3 pada array a dengan nilai -1,
kita dapat langsung assign nilai baru tersebut
pada indeks.
<
← MENU AKHIRI >
→
1. Numpy
Slicing
Selain kita dapat mengambil sebuah element
array dengan cara indexing seperti cara di atas,
kita dapat melakukan slicing, yaitu melakukan
ekstraksi elemen atau beberapa elemen pada
array, dengan menggunakan tanda [:].
var[lower:upper:step]
<
← MENU AKHIRI >
→
1. Numpy
Perlu kita perhatikan, elemen pada lower akan
dimasukkan hasil slicing, sedangkan element
pada upper TIDAK dimasukkan
hasil slicing, dan step adalah jarak antar elemen.
<
← MENU AKHIRI >
→
1. Numpy
Perlu kita perhatikan, elemen pada lower akan
dimasukkan hasil slicing, sedangkan element
pada upper TIDAK dimasukkan
hasil slicing, dan step adalah jarak antar elemen.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Pandas (Python for Data Analysis) adalah
library Python yang fokus untuk proses analisis
data seperti manipulasi data, persiapan data,
dan pembersihan data.
Pandas menyediakan struktur data dan
fungsi high-level untuk membuat pekerjaan
dengan data terstruktur/tabular lebih cepat,
mudah, dan ekspresif.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Dalam pandas terdapat dua objek,
yaitu DataFrame dan Series.
DataFrame adalah objek yang memiliki
struktur data tabular, berorientasi pada kolom
dengan label baris dan kolom.
Sedangkan Series adalah objek array 1-dimensi
yang memiliki label.
Pandas memadukan library NumPy yang
memiliki kemampuan manipulasi data yang
fleksibel dengan database relasional (seperti
SQL). <
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Sehingga memudahkan kita untuk
melakukan reshape, slice dan dice, agregasi
data, dan mengakses subset dari data.
Menurut penulis buku Python for Data Analysis
sekaligus pembuat pandas, Wes McKinney,
nama pandas berdasarkan dari panel
data, yaitu istilah ekonometrik untuk data
multi-dimensi terstruktur, dan berdasarkan
dari kata yang merupakan fungsional library itu
sendiri yaitu Python data analysis.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Sehingga memudahkan kita untuk
melakukan reshape, slice dan dice, agregasi
data, dan mengakses subset dari data.
Menurut penulis buku Python for Data Analysis
sekaligus pembuat pandas, Wes McKinney,
nama pandas berdasarkan dari panel
data, yaitu istilah ekonometrik untuk data
multi-dimensi terstruktur, dan berdasarkan
dari kata yang merupakan fungsional library itu
sendiri yaitu Python data analysis.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Untuk memulai, lakukan import terlebih
dahulu library pandas as pd.
Penggunaan as disini, artinya kita
menggantikan
pemanggilan pandas dengan prefix pd untuk
proses berikutnya.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Untuk memulai, lakukan import terlebih
dahulu library pandas as pd.
Penggunaan as disini, artinya kita
menggantikan
pemanggilan pandas dengan prefix pd untuk
proses berikutnya.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Series
Series adalah objek 1-dimensi yang
berisi sequence nilai dan berasosiasi dengan
label data, yang disebut indeks.
Untuk membuat sebuah Series, kita dapat
membentuknya dari sebuah array dengan
memanggil fungsi Series pada pandas.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Series:
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Kita dapat mengambil index dari objek Series
dengan menggunakan fungsi index dan
mengambil values dari objek Series dengan
menggunakan fungsi values.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Untuk mengakses suatu value pada objek Series,
kita dapat menggunakan index sebagai
alamat value tersebut. Hal ini memungkinkan
untuk melakukan assign nilai baru pada objek
Series.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Series juga memungkinan untuk melakukan
operasi aritmatika pada dua objek Series dengan
indeks yang sama.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
DataFrame
DataFrame merupakan tabel data yang terdapat
kolom dan baris, dimana nilai-nilai yang terdapat
di dalamnya dapat berupa tipe berbeda
seperti numeric, string, boolean, dll.
DataFrame mirip dengan data 2-dimensi dengan
adanya baris dan kolom. Selain itu, DataFrame
bisa dikatakan gabungan dari dictionary objek
Series yang memiliki indeks yang sama.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Terdapat berbagai macam cara untuk
membentuk objek DataFrame. Salah satu cara
yang biasa dilakukan untuk membentuk objek
DataFrame dengan menggunakan data masukan
berupa dictionary.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Kita dapat menggunakan fungsi shape untuk
mengetahui jumlah baris dan kolom dari
DataFrame.
Fungsi shape pada DataFrame memiliki hasil
keluaran yang sama dengan fungsi shape pada
NumPy, dimana menghasilkan keluaran
sebuah tuple dari jumlah baris dan jumlah
kolom.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Fungsi info() sangat berguna untuk
mengetahui keterangan dari objek DataFrame
yang kita buat seperti index dari DataFrame
lengkap dengan range dari index, jumlah
kolom beserta informasi tiap kolom
untuk null data dan tipe data, dan jumlah total
penggunaan memory pada tiap kolom dalam
satuan bytes.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Saat kita input data dictionary pada
DataFrame, kita tidak perlu mendefinisikan
tipe data untuk masing-masing kolom, karena
secara otomatis pandas akan memberikan tipe
data sesuai dengan values untuk tiap kolom,
meskipun kita juga bisa mendefinisikan tipe
data secara manual.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Misalkan kita memiliki objek DataFrame yang
memiliki baris hingga jutaan, kita tidak ingin
menampilkan data secara keseluruhan karena
akan menghabiskan memory.
Kita dapat menggunakan
fungsi head() dan tail() untuk menampilkan
data secara default untuk 5 data teratas dan 5
data terbawah.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Seperti pada Series, kita juga dapat mengakses
kolom pada DataFrame menggunakan
fungsi columns dan untuk mengakses indeks
dari DataFrame menggunakan fungsi index.
Jika ingin mendapatkan data pada DataFrame
secara keseluruhan menggunakan
fungsi values yang akan
menghasilkan output berupa array 2-dimensi
sesuai dengan jumlah baris dan kolom.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
DataFrame menyediakan
fungsi describe() untuk mengetahui statistika
data untuk data numeric seperti count, mean,
standard deviation, maximum,
minum, dan quartile.
Untuk data string, misalkan data tersebut
adalah kategori, kita dapat menggunakan
fungsi value_counts() untuk mengetahui
jumlah tiap kategori pada data.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Mengakses Data pada DataFrame:
Terkadang kita butuh mengakses kolom
tertentu atau lebih spesifik elemen tertentu
pada DataFrame. Untuk mengakses suatu data,
alamat data tersebut adalah pada nama kolom
sebagai petunjuk lokasi kolom dan indeks
sebagai petunjuk lokasi baris.
Misalkan untuk mengakses semua data pada
kolom populasi, maka kita menggunakan
perintah frame[‘populasi’].
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Perlu diingat karena nama kolom adalah tipe
data string, maka kita menggunakan petik.
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Sedangkan mengakses data pada baris
tertentu, kita menggunakan
fungsi loc[indeks].
Kita juga bisa mendapatkan lebih dari 1 baris
dengan menggunakan titik dua ‘:’, misalkan
kita ingin mengakses indeks 2–3, maka
menggunakan perintah loc[2:3].
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Elemen pada DataFrame dapat diakses dengan
mendefinisikan nama kolom dan indeks baris
secara bersamaan.
Misalkan kita ingin mendapatkan data populasi
pada indeks ke-2, maka digunakan
perintah frame[‘populasi’][2].
<
← MENU AKHIRI >
→
2. Pandas (Python for Data Analysis)
Pandas masih menyediakan banyak sekali fungsi
yang sangat memudahkan kita untuk analisis
data seperti mengisi data kosong dengan
fungsi fillna(), menerapkan suatu fungsi pada
DataFrame menggunakan apply(), mengubah
format DataFrame
dari wide ke long menggunakan melt(), dan
masih banyak lagi.
<
← MENU AKHIRI >
→
3. Matplotlib
Matplotlib adalah library Python yang fokus
pada visualisasi data seperti
membuat plot grafik.
Matplotlib pertama kali diciptakan oleh John D.
Hunter dan sekarang telah dikelola oleh tim
developer yang besar.
Awalnya matplotlib dirancang untuk
menghasilkan plot grafik yang sesuai pada
publikasi jurnal atau artikel ilmiah.
<
← MENU AKHIRI >
→
3. Matplotlib
Matplotlib dapat digunakan dalam skrip
Python, Python dan IPython shell, server
aplikasi web, dan beberapa toolkit graphical
user interface (GUI) lainnya.
Visualisasi dari matplotlib adalah sebuah
gambar grafik yang terdapat satu sumbu atau
lebih. Setiap sumbu memiliki sumbu horizontal
(x) dan sumbu vertikal (y), dan data yang
direpresentasikan menjadi warna
dan glyphs seperti marker (contohnya bentuk
lingkaran) atau lines (garis) atau poligon.<
← MENU AKHIRI >
→
3. Matplotlib
Gambar di bawah menunjukkan bagian-bagian
dari visualisasi matplotlib dibuat oleh Nicolas P.
Rougier.
<
← MENU AKHIRI >
→
3. Matplotlib
Untuk memulai menggunakan matplotlib,
lakukan import terlebih dahulu
library matplotlib.pyplot as plt.
Penggunaan as disini, artinya kita
menggantikan pemanggilan
fungsi pyplot pada matplotlib dengan prefix pl
t untuk proses berikutnya.
<
← MENU AKHIRI >
→
3. Matplotlib
Disini terdapat magic command %matplotlib
inline, untuk pengaturan
pada backend matplotlib agar setiap grafik
ditampilkan secara ‘inline’, yaitu akan
ditampilkan langsung pada cell notebook
<
← MENU AKHIRI >
→
3. Matplotlib
Membuat Line Plot
Line plot berguna untuk melacak perubahan
pada periode waktu pendek dan panjang. Ketika
terdapat perubahan kecil, line plot lebih baik
dalam melakukan visualisasi dibandingkan
grafik bar.
<
← MENU AKHIRI >
→
3. Matplotlib
<
← MENU AKHIRI >
→
3. Matplotlib
Sumbu x dan y pada kurva cos seharusnya
memiliki rasio yang sama karena keduanya
merupakan satuan unit yang sama. Kita dapat
mengaturnya menggunakan fungsi .set_aspect.
<
← MENU AKHIRI >
→
3. Matplotlib
Kita dapat mengatur
bentuk marker menggunakan
parameter linestyle,
ukuran marker menggunakan
parameter markersize, warna menggunakan
parameter color, dan
memberikan legend menggunakan
parameter legend
<
← MENU AKHIRI >
→
3. Matplotlib
<
← MENU AKHIRI >
→
Referensi
Conda: https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html
← MENU AKHIRI →
Terima Kasih
Freddy Artadima Silaban, S.Kom, MT