Anda di halaman 1dari 55

Learning

Progress
Week-4

GIGIH R.P || M. IKHSAN E. || F.P. GOTAWA || TALITHA SAFA


Python Programming III
Introduction to NumPy
Introduction and Basic Dataframe
Python
Programming
III

01
Function Python
● Function adalah sekelompok statement yang dipanggil untuk melakukan tugas
tertentu.
● Function dapat atau tidak dapat menerima parameter atau mengembalikan nilai.
● Fungsi yang sudah dinyatakan sebelumnya, dapat dipanggil berkali - kali pada line
yang berbeda.
● Function didefinisikan menggunakan kata kunci ‘def’.
Contoh:
def hello_world():
print(“Hello World!”)
hello_world()

Output:
Hello World!
Function Python Scope

● Variabel yang didefinisikan dalam python memiliki scope, atau ruang lingkup, yang
terbatas pada lokasi di mana variabel tersebut didefinisikan.

Nama Description

Local Scope Variabel yang didefinisikan di dalam function. Variabel ini


hanya dapat digunakan di dalam function terkait.

Global Scope Variabel yang didefinisikan di luar function. Variabel ini


dapat diakses dari mana saja.

Global Keyword Kata kunci ‘global’ membuat sebuah variabel lokal


menjadi global. Sehingga variabel tersebut dapat
diakses dari mana saja.
Arguments

● Value yang dikirimkan ke function untuk diproses di dalam function.

Contoh
def print_something(word):
print(word)
print_something(“Hello World!”)

Output:
Hello World!
Arbitrary Arguments

● Digunakan mengirim beberapa argumen ke dalam function untuk diproses, yang


dilakukan dengan karakter ‘*’.

Contoh:
def print_second_num(*nums):
print(“This is the second number:”, nums[1])
print_second_num(1, 2, 3, 4, 5)

Output:
This is the second number: 2
Keyword Arguments

● Digunakan mengirim argumen dengan mengabaikan urutan parameter


menggunakan syntax key=value.

Contoh:
def days_details(day, date, month, year):
print(day, date, month, year)
days_details(month=”Februari”, day=“Senin”, date=22, year=2022)

Output:
Senin 22 Februari 2022
Arbitrary Keyword Arguments

● Digunakan untuk mengirim sejumlah argumen pada satu parameter dengan


mengabaikan urutan parameter menggunakan syntax key=value dan
menambahkan karakter ‘**’ di depan parameter.

Contoh:
def days_details(**day_data):
print(day_data[‘day’], day_data[‘date’], day_data[‘month’],
day_data[‘year’])
days_details(month=”Februari”, day=“Senin”, date=22, year=2022)

Output:
Senin 22 Februari 2022
Default Parameter Value

● Digunakan untuk menggunakan value yang sudah di-define jika tidak ada argumen
yang dikirimkan.

Contoh:
def days_details(day, date, month, year=2022):
print(day, date, month, year)
days_details(month=”Februari”, day=“Senin”, date=22)

Output:
Senin 22 Februari 2022
List Sebagai Argumen
● Function dapat menerima data berupa list yang juga akan diperlakukan sebagai list
di dalam function.
Contoh:
def countdown(counter):
print(“The rocket will launch in:”)
for count in counter:
print(count)
countdown([10, 9, 8, 7, 6, 5, , 3, 2, 1])

Output:
The rocket will launch in:
10

1
Return Values
● Digunakan untuk mengembalikan value menggunakan statement return.

Contoh:
def summarize_number(num, num_to_add):
return num + num_to_add

print(summarize_number(10, 12))

Output:
22
Lambda Python
● Lambda adalah ekspresi untuk membuat function sederhana menggunakan syntax
lambda.
● Lambda function dapat menerima banyak argumen, tetapi hanya dapat memiliki
satu ekspresi.

Contoh:
x = lambda a,b: a * b
print(x(50,2))

Output:
100
Module Python
● Dilakukan untuk menggunakan fungsi pada file lain di folder yang sama.

Contoh:
import file1
x = file1.function1(a, b)
print(x)

from file1 import function1


x = function1(a, b)
print(x)
Math Functions
● Python dapat melakukan operasi matematika menggunakan modul math yang
berisi kumpulan function matematika. Modul ini dapat digunakan dengan syntax
import math.
Method Deskripsi

math.pow() Mengembalikan nilai x pangkat y

math.sqrt() Mengembalikan akar kuadrat sebuah angka

math.fsum() Mengembalikan nilai total semua data di dalam iterable

math.floor() Mengembalikan hasil pembulatan ke bawah sebuah angka

math.ceil() Mengembalikan hasil pembulatan ke atas sebuah angka

math.factorial() Mengembalikan faktorial suatu bilangan


Object Oriented Programming
Object Oriented Programming (OOP) atau Pemrograman berorientasi objek.
● Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu object.
● Object adalah contoh dari Class
● Class attribute adalah atribut (instance variables) yang dimiliki oleh kelas itu
sendiri.
● Class attribute dapat digunakan oleh object dari class tersebut

Contoh:
class Person:
def __init__(self, name, age):
attributes
methods
Contoh Penggunaan Class
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person(“John”, 36)

print(p1.name)
print(p1.age)

● __init__ berfungsi sebagai penginisialisasi untuk class


● Nilai yang diberikan akan disimpan di self
Class Attribute and Method
class Calculate: calc = Calculate(15, 3)
def __init__(self, x, y): var1 = calc.summarize()
self.x = x var2 = calc.subtract()
self.y = y var3 = calc.multiply()
def summarize(self): var4 = calc.divide()
return self.x + self.y
def subtract(self): print(“Summarize result:”, var1)
return self.x - self.y print(“Subtraction result:” var2)
def multiply(self): print(“Multiplication result:”,
return self.x * self.y var3)
def divide(self): print(“Division result:”, var4)
return self.x / self.y

● Class variable atau attribute: attribute di dalam class


● Class method: perilaku pada class
Intro to
Numpy

02
Numerical Python

Open-Source Library Python yang berfungsi untuk mengolah array.

Kelebihan NumPy, diantaranya:


• Penggunaan dan penyimpanan yang sangat efisien
• Melakukan operasi komputasi terhadap data lebih mudah

Import:
import numpy

import numpy as np
Array 9
5
10
6
1 2 11 1
12 2
7 8
1 2 3 4 3 4

a. NumPy b. NumPy c. NumPy


single-dimensional array two-dimensional array three-dimensional array
(Vector) (Matrix) (Tensor)

np.array([[1,2]]) np.array([[1,2], np.array([[[1,2],[3,4


[3,4]]) ]],

d. Lebih dari three-dimensional [[5,6],[7,8]],

[[9,10],[11,12]]])
Array dapat terdiri dari tipe data integer, float, boolean, atau complex.
Di dalam array tipe data harus bersifat homogen/konsisten semua dengan satu tipe
data yang sama, misal semua integer atau semua float.
Mendefinisikan Array
np.array()
Mendefinisikan daftar elemen yang berisi value ke dalam
array.

In: np.array([[1,2],[3,4]])

array([[1, 2],
Out:
[3, 4]])
Mendefinisikan Array
np.arange()
Menampilkan array dengan value yang berjarak sama
dalam interval tertentu.
Parameter:
1. Start : Awal dari interval. Interval mencakup value ini.
Default adalah 0. (Optional)
2. Stop : Akhir dari interval. Interval tidak mencakup value ini.
3. Step : Jarak antar value. Default adalah 1. (Optional)
4. Dtype : Tipe data dari output.
Start
Stop
In: np.arange(3,10,2) Out: array([3, 5, 7, 9])
Step
Mendefinisikan Array
np.zeros()
Menampilkan array dengan ukuran tertentu dengan value
angka 0.
Parameter:
1. Shape : Bentuk array.
2. Dtype : Tipe data dari output. Default adalah float.
Shape

In: np.zeros(3)

Out: array([0., 0., 0.])


Mendefinisikan Array
np.ones()
Menampilkan array dengan ukuran tertentu dengan value
angka 1.

Parameter:
1. Shape : Bentuk array.
2. Dtype : Tipe data dari output. Default adalah float.
Shape

In: np.ones(3)

Out: array([1., 1., 1.])


Mendefinisikan Array
Reshape
Memberikan bentuk baru pada array tanpa mengubah data.
Parameter:
1. Arr : Array yang akan diubah bentuknya.
2. Newshape : Bentuk baru.
3. Order : F Style Array atau C Style Array. Default adalah C Style.
Mengubah bentuk array menjadi matriks ordo 2x3:

In: arr = np.array([[1,2,3,4,5,6]])


Arr
In: newarr = np.reshape(arr,(2,3))
Newshape
In: newarr
Out: array([[1, 2, 3],
[4, 5, 6]])
Mendefinisikan Array
Flatten
Menampilkan array yang diubah menjadi 1-D array.
In: arr = np.array([[1,2,3],
[4,5,6]])
In: newarr = arr.flatten()
In: newarr
Out: array([1, 2, 3, 4, 5, 6])
Mendefinisikan Array
Transpose
Menukar baris menjadi kolom atau sebaliknya.
Parameter:
1. Arr : Array yang akan di-transpose.
2. Axis : Default reversed. (Optional)

In: arr = np.array([[1,2,3],


[4,5,6]])
In: newarr = np.transpose(arr)
In: newarr
Out: array([[1, 4],
[2, 5],
[3, 6]])
Mendefinisikan Array
Concatenate
Menggabungkan dua/lebih array dengan bentuk yang sama sepanjang axis
yang sudah ada.
Parameter:
1. Arr1, Arr2, … ArrN : Array yang akan digabung.
2. Axis : 0 untuk row, 1 untuk column. Default adalah 0.

In: arr1 = np.array([[1,2],[3,4],[5,6]])


Out: array([[ 1, 2],
arr2 = np.array([[7,8],[9,10],[11,12]])
[ 3, 4],
newarr = [ 5, 6],
In:
np.concatenate((arr1,arr2),axis=0) [ 7, 8],
In: newarr [ 9, 10],
[11, 12]])
Mendefinisikan Array Concatenate
In: newarr = np.concatenate((arr1,arr2),axis=1)
In: newarr
Out: array([[ 1, 2, 7, 8],
[ 3, 4, 9, 10],
[ 5, 6, 11, 12]])
Manipulasi Array
Stack
Menggabungkan sequence array di sepanjang axis baru.
Parameter:
1. Arr1, Arr2, … ArrN : Array yang akan digabung.
2. Axis : Nilai adalah -1, 0, 1. Default adalah 0.

In: arr1 = np.array([[1,2],[3,4],[5,6]]) Out: array([[[ 1, 2],


arr2 = np.array([[7,8],[9,10],[11,12]]) [ 3, 4],
In: newarr = np.stack((arr1,arr2),axis=0) [ 5, 6]],

In: newarr [[ 7, 8],


[ 9, 10],
[11, 12]]])
Manipulasi Array Stack
In: newarr = np.stack((arr1,arr2),axis=1)
In: newarr
In: newarr = np.stack((arr1,arr2),axis=-1)
Out: array([[[ 1, 2],
[ 7, 8]], In: newarr
Out:array([[[ 1, 7],
[[ 3, 4], [ 2, 8]],
[ 9, 10]],
[[ 3, 9],
[[ 5, 6], [ 4, 10]],
[11, 12]]])
[[ 5, 11],
[ 6, 12]]])
Manipulasi Array
Split
Membagi 1-D array menjadi subarray.
Parameter:
1. Arr : Array yang akan dibagi.
2. Indices_or_sections : Jumlah subarray dengan ukuran sama
yang akan dibuat.
3. Jika berupa 1-D array, menunjukkan titik subarray baru dibuat.
4. Axis : Axis di mana array harus dibagi. Default adalah 0.
In: arr = np.array([1,2,3,4,5,6])
Arr
In: newarr = np. split(arr,3) In: newarr = np. split(arr,[1,3])
Indices_or_s
ections
In: newarr In: newarr

Out:[array([1, 2]), array([3, 4]), Out:[array([1]), array([2, 3]),


array([5, 6])] array([4, 5, 6])]
Manipulasi Array
Resize
Mengubah ukuran array dengan ukuran yang ditentukan. Jika ukuran
lebih besar dari array asli, maka terdapat salinan dari value sebelumnya.
Parameter:
1. Arr : Array yang akan diubah bentuknya.
2. Shape : Bentuk baru.

In: arr = np.array([[1,2,3],


[4,5,6]])
Arr
In: newarr = np.resize(arr,(3,3))
In: newarr Shape

Out: array([[1, 2, 3],


[4, 5, 6],
[1, 2, 3]])
Manipulasi Array
Append
Menambahkan value di akhir array.
Parameter:
1. Arr : Array awal.
2. Values : Array yang akan digabung. Bentuk harus sama
dengan array awal.
3. Axis : Axis di mana penggabungan dilakukan. Default
adalah flatten array.
In: arr = np.array([[1,2,3],
[4,5,6]])
Arr
In: newarr = np.append(arr,[7,8,9])
Values
In: newarr
Out: array([1, 2, 3, 4, 5, 6, 7, 8, 9])
Manipulasi Array
Insert
Menyisipkan value dalam array di sepanjang axis yang diberikan dan
sebelum indeks diberikan.
Parameter:
1. Arr : Array awal.
2. Obj : Indeks di mana values akan disisipkan.
3. Values : Array yang akan disisipkan.
4. Axis : Axis di mana penyisipan dilakukan. Default adalah
flatten array.
Manipulasi Array Insert

arr =
In: np.array([[1,2],[3,4],[5,6]])
Arr
newarr =
In: newarr = np. insert(arr,2,[7,8]) In: np.insert(arr,2,[7,8],axis=0)
Obj
In: newarr Values
In: newarr
Out: array([1, 2, 7, 8, 3, 4, 5, 6])
Out: array([[1, 2],
[3, 4],
[7, 8],
[5, 6]])
Manipulasi Array
Delete
Menghapus value dalam array di sepanjang axis yang diberikan dan
sebelum indeks diberikan.
Parameter:
1. Arr : Array awal.
2. Obj : Indeks di mana values akan dihapus.
3. Values : Array yang akan dihapus.
4. Axis : Axis di mana penghapusan dilakukan. Default adalah
flatten array.

In: arr = np.array([[1,2],[3,4],[5,6]])


Arr
In: newarr = np.delete(arr,1) In: newarr = np.delete(arr,1,axis=0)
Obj
In: newarr In: newarr
Out: array([1, 3, 4, 5, 6]) Out: array([[1, 2],
[5, 6]])
Manipulasi Array
Unique
Mencari elemen unik dalam array.
Parameter:
1. Arr : Array awal. Jika bukan 1-D array akan di-flatten.
2. Return_index : Indeks dari elemen array. (Optional)
3. Return_inverse : Indeks dari elemen unik dalam array.
(Optional)
4. Return_count : Berapa kali elemen unik muncul di array
awal. (Optional)
In: arr = np.array([2,3,4,2,2,5,3,6,7,3,5,6,1])
Arr
In: newarr = np.unique(arr)
In: newarr
Out: array([1, 2, 3, 4, 5, 6, 7])
Manipulasi Array
Slicing
Mengambil elemen dari satu indeks ke indeks lain.
Parameter:
1. Start : Awal dari interval. Interval mencakup value ini.
2. Stop : Akhir dari interval. Interval tidak mencakup value ini.
3. Step : Jarak antar value. Default adalah 1. (Optional)

In: arr = np.array([0,1,2,3,4,5,6,7,8,9])


Start
In: arr[2:7:2] Stop In: arr[3:]
Step
Out: array([2, 4, 6]) Out: array([3, 4, 5, 6, 7, 8, 9])
Start indeks 2 dan stop indeks 7 jarak 2 indeks Mulai indeks 3 sampai selesai

In: arr[3:8] In: arr[::2]

Out: array([3, 4, 5, 6, 7]) Out: array([0, 2, 4, 6, 8])


Start indeks 3 dan stop indeks 8 Seluruh elemen dengan interval 2
indeks
Intro to Basic
Dataframe
“Pandas”

03
Pandas DataFrame
Data frame merupakan struktur data tabular yang disusun pada kolom dan baris,
sedangkan Pandas data frame adalah salah satu python package yang berisikan
struktur data 2 dimensi seperti array 2 dimensi atau tabel dengan baris dan kolom.
Data frame terdiri dari tiga komponen utama yaitu data indeks dan kolom.

Keuntungan dalam menggunakan dataFrame yaitu untuk mempermudah dalam


memanipulasi data mulai dari memilih atau mengganti kolom dan indeks hingga
merestruktur kembali data. Didalam Pandas DataFrame terdapat struktur data
yang powerful, ekspresif, dan fleksibel yang dapat mempermudah dalam
memanipulasi dan menganalisis data.
Pandas Library
Pandas merupakan sebuah library pada bahasa pemrograman python yang
bersifat open source serta memiliki lisensi BSD yang digunakan untuk
menganalisis data, membersihkan data, mengeksplorasi data serta memanipulasi
data. Pandas merupakan singkatan dari Python Data Analysis.
Cara Menggunakan Pandas Library
1. Install terlebih dahulu library pandas ke dalam pustaka library python dengan
mengetikkan di google colabs sebagai berikut:
● Pip install pandas
● Atau dengan spesifik versi library pip install pandas ==1.3.5
2. Memanggil library pandas dari pustaka library python pada penulisan
program python
● Import Pandas
● Atau dengan penulisan alias import pandas as pd
3. Mengecek versi library pandas yang digunakan
● pandas.__version__
● Atau dengan penulisan alias pd.__version__
Struktur Data Pandas
Struktur data pada Pandas merupakan komponen pandas yang terdiri dari Series
dan data frame, series merupakan sebuah kolom, sedangkan data frame adalah
tabel multidimensi yang terdiri dari kumpulan kolom.
Pandas Series
Di dalam Pandas, series merupakan struktur data dasar yang diibaratkan sebagai
array single dimension seperti Numpy Array namun memiliki perbedaan yaitu pada
pandas mempunyai indeks yang dapat dikontrol dari setiap elemen tersebut.
Untuk membuat series pada pandas terdapat perintah dasar, sebagai berikut:
pandas.Series(data, index, dtype, name, copy, fastpath)
Ada beberapa struktur data yang dapat ditampung dalam Pandas Series yaitu
berupa
● Integer
● Float
● string
Pandas Series
Untuk membuat series dengan tipe data list dan numpy Array bisa menggunakan
perintah sebagai berikut:

data=pd.Series([2,3,5]) array=np.array([2,3,5])
data=pd.Series([2,3,5]) data=pd.Series(array)
data array=np.array([2,3,5])
data=pd.Series(array)
0 2 data
1 3
2 5 0 2
dtype: int64 1 3
2 5
dtype: int32
Pandas Series
Membuat series dengan memodifikasi indeks.
data=pd.Series([‘Rahmat’, 3, False], index=[‘a’,’b’,’c’])

data =
pd.Series([‘Rahmat’,3,False],
index=[‘a’,’b’,’c’])
data

a Rahmat
b 3
c False
dtype:object
Pandas Series
Mengakses nilai pada series dengan menggunakan index-nya
data=pd.Series([‘Rahmat’, 3, False], index=[‘a’,’b’,’c’])
data[‘a’]

data =
pd.Series([‘Rahmat’,3,False],
index=[‘a’,’b’,’c’])
data[‘a’]

‘Rahmat’
Creating DataFrame
Mengakses nilai pada series dengan menggunakan index-nya
array=np.array([2,3,5])
data=pd.Series(array)
data[2]

array=np.array([2,3,5])
data=pd.Series(array)
data[2]

5
Creating DataFrame
Dataframe dapat dibuat dari array dengan menggunakan numpy

import pandas as pd

import numpy as np

data = np.random.random(size=(6,4))

df = pd.DataFrame(data=data, columns=["A", "B", "C", "D"])


Selecting DataFrame
Sama halnya dengan tipe data list dan array, elemen dari dataframe dapat diambil
dengan menggunakan Slice.
Contoh
Dibawah ini adalah dataframe df
Read/Write DataFrame
DataFrame Pandas dapat mengimpor file dengan membaca tipe file seperti
xlsx,csv, json dll. Tidak hanya impor file, pandas juga bisa mengekspor
dataframeke format lain
Pandas Read File Read
Membuat data frame melalui file eksternal

1.Pandas DataFrame dari excel 2.Pandas DataFrame dari csv 3.Pandas DataFrame dari json
Thanks!
CREDITS: This presentation template was
created by Slidesgo, including icons by Flaticon,
infographics & images by Freepik and
illustrations by Stories

Anda mungkin juga menyukai