Draft - Manajemen Data Dengan Python
Draft - Manajemen Data Dengan Python
Walaupun penjalanan script tersebut di atas Sistem Operasi Linux, maka perintah dan output di
Windows, sama saja dengan di Linux.
3. Menjalankan perintah Python di Integrated Development Environment (IDE).
IDE adalah sebuah lingkungan untuk menulis, mendebug dan menjalankan sebuah bahasa
pemrograman yang terdiri dari Text Editor, Code compilers, debugger, platform test, dll. IDE
lebih banyak fiturnya dibanding Text Editor. Salah satu fiturnya, dapat menjalankan aplikasi di
dalam IDE tersebut. Sebuah Text Editor sederhana, seperti Geany, dapat digunakan untuk
membuat sebuah aplikasi , namun IDE lebih memudahkan pengembangan aplikasi, karena
memiliki sejumlah fitur yang dapat digunakan untuk pengembangan aplikasi, yang tidak
ada pada Text Editor. Jadi, IDE lebih luas daripada Text Editor. Salah satu IDE pada
Python, adalah Spyder (https://www.spyder-ide.org/).
Script pada modul ini hurufnya berwarna biru dan output nya berwarna hitam. Jika script berupa
script lengkap yang dituliskan dari awal termasuk load librarynya, maka akan diberi nomor urut
script dan diberi kotak. Jika berupa script lanjutan atau ada hubungannya dari script sebelumnya,
tidak dituliskan nomor urut, namun script lanjutan juga mengeluarkan output yang benar.
Bab II
Variabel dan Tipe Data dalam Python
File Python memiliki ekstensi .py, contoh : test_1.py dan test_2.py. Dalam membantu pembuatan
program, variabel sering dipergunakan. Untuk selanjutnya, setiap kode Python akan ditampilkan
dengan font berwarna biru tua dan outputnya merupakan screenshot dari layar komputer.
II.1 Variabel
Variabel seperti halnya pada matematika, adalah karakter yang memiliki nilai yang nilai tersebut
dapat dirubah. Variabel terdapat di semua bahasa pemrograman, termasuk Python. Sejumlah bahasa
pemrograman menyatakan secara eksplisit tipe data dari variabelnya dan beberapa yang lainnya
tidak, termasuk Python. Di dalam Python, selain sebuah variabel tidak didefinisikan secara eksplisit,
nilainya dapat diubah dengan memberi nilai yang berbeda, baik dengan tipe data yang sama
maupun tipe data berbeda.
Contoh :
x=5
x adalah variabel dengan nilai 5 dan tipe data integer. x dapat diubah nilainya dengan memberi nilai
baru pada baris program selanjutnya.
Contoh 1 :
1. x=5
2. print (x)
Output :
5
Contoh 2 :
1. x=”Lapangan”
2. print(x)
Output :
Lapangan
Saat ini x adalah variabel dengan tipe data string yang bernilai : Lapangan
Variabel memiliki tipe data, yaitu : numeric, string dan boolean. Tipe data numerik sendiri dapat
berupa : Integer atau float [1].
Contoh 2 :
1. x = 90000000000
2. print(x)
Output :
90000000000
Output :
True
<class 'bool’>
II.1.c String
String adalah tipe data yang memuat text atau karakter.
Contoh :
1. x=”Sekolah”
2. print(x)
3. print(type(x))
Output :
Sekolah
<class ‘str’>
Bab III
Input, proses dan Output
1. nama=input(“Nama :”)
2. propinsi=input(“Asal Propinsi :”)
3. print (nama,” berdomisili di “, propinsi)
Hasil dari program di atas dengan inputan nama “Budi” dan Propinsi “Jawa Barat”, adalah :
Nama : Budi
Propinsi : Jawa Barat
Budi berdomisili di Jawa barat
Contoh 2 :
Sebuah program yang menerima input dari keyboard berupa 2 buah bilangan yang akan
dijumlahkan. Hasil dari penjumlahan kedua bilangan tersebut ditampilkan juga.
1. bilangan_1=int(input(“Bilangan 1 :”))
2. bilangan_2=int(input(“Bilangan 2:”))
3. hasil=bilangan_1+bilangan_2
4. print (“Hasil :”,hasil)
Hasil dari program di atas dengan bilangan 1 diinput 4 dan bilangan 2 diinput 8, adalah :
Bilangan 1 : 4
Bilangan 2 : 8
hasil : 12
Source code pada baris 1 dan baris 2 berguna untuk menerima inputan dengan konversi ke integer.
Secara default, inputan bertipe String, walaupun inputan tersebut berupa bilangan. Agar dapat
dikalkulasi seperti dijumlahkan, maka inputan bilangan tersebut harus dikonversi menjadi integer
dengan memberikan perintah int(bilangan). Jika inputan bilangan tersebut berupa angka desimal,
maka harus dikonversi ke dalam float dengan memberikan perintah float (bilangan).
Selain
III.2 Proses
Proses adalah mengolah input atau data untuk menghasilkan sebuah output. Output ditampilkan
dengan perintah “print”. Proses dapat bermacam-macam tergantung kepada apa yang ingin diproses
untuk menghasilkan output tertentu. Seperti pada source code sebelumnya, yakni :
1. bilangan_1=int(input(“Bilangan 1 :”))
2. bilangan_2=int(input(“Bilangan 2:”))
3. hasil=bilangan_1+bilangan_2
4. print (“Hasil :”,hasil)
Contoh :
Jika sebuah x diinput nilai 5, maka outputnya adalah X adalah 5 :
1. X=int(input(“Nilai X :”))
2. if X==5
print (“X adalah 5”)
Pada contoh tersebut, jika X bukan bernilai 5, maka tidak ada output apa-apa.
Kondisi tertentu juga dapat memiliki kondisi yang lain, sehingga format nya menjadi :
if kondisi 1
statement 1
elif kondisi 2
statement 2
else
statement 3
Contoh :
Terdapat inputan Y yang mana jika Y bernilai 10, maka dicetak kalimat “Y bernilai 10”, jika Y
bernilai lebih kecil dari 10, maka dicetak kalimat “Y lebih kecil dari 10” dan jika Y bernilai selain
kondisi-kondisi tersebut atau dengan kata lain Y lebih besar dari 10, maka dicetak kalimat “Y lebih
besar dari 10”.
1.Y=int(input(“Nilai Y:”))
2. if Y==10:
3. kalimat=”Y bernilai 10”
4. elif Y<10:
5. kalimat=”Y lebih kecil dari 10”
6. else:
7. kalimat=”Y lebih besar dari 10”
8. print(kalimat)
Kondisi dapat bernilai lebih dari 1 dan dihubungkan dengan operator “and” atau “or” . Kondisi juga
dapat bernilai negasi “not”.
Contoh : Terdapat inputan nilai w. Jika w bernilai 0, maka akan dicetak kalimat “w bernilai 0”, jika
w bernilai lebih besar atau sama dengan 1 dan lebih kecil atau sama dengan 10, maka akan dicetak
kalimat “w di antara 0 dan 11”, jika w lebih besar dari 10, maka akan dicetak kalimat “w lebih besar
dari 10” selain itu w pasti bernilai negatif, maka akan dicetak kalimat “w bernilai negatif”.
1. w=int(input(“Nilai W:”))
2. if w==0:
3. kalimat=”W bernilai nol”
4.elif w>0 and w<=10:
5. kalimat=”W di antara 0 dan 10”
6.elif w>10:
7. kalimat=”W lebih besar dari 10”
8.else:
9. kalimat=”W bernilai negatif”
10. print (kalimat)
Jika diinput Nilai w adalah 5.
Output :
W di antara 0 dan 10
IV.2 Iterasi
Iterasi atau looping berfungsi untuk mengulangi eksekusi perintah.
Bentuk umum :
for variabel in range (numerik)
Statement
Contoh :
Mencetak angka dari 0 sampai dengan 4.
1.for i in range (5):
2. print(i)
Output :
0
1
2
3
4
Bab V
Dictionary, List dan Tuple
IV.1 Dictionary
Dalam Python, Dictionary sering juga disebut tipe mapping. Tipe data ini mendefinisikan relasi satu
ke satu antara kunci (key) dan nilai (value).
Bentuk umum : variabel = {key1:value1, key2:value2, …}
Contoh :
1.d={‘nama1’:’Ali’, ‘nama2’:’Budi’}
2.print(d[‘nama1’])
3.print(d[‘nama2’])
Output :
Ali
Budi
Output :
Toni
Output :
Rudi
Output :
<<Program error >>
Program error, karena key nama1 sudah dihapus, sudah tidak ada di dalam variabel dictionary d
IV.2 List
List seperti dictionary, namun diindex dengan menggunakan bilangan. Index pertama adalah 0.
Bentuk umum : nama_list = [nilai1,nilai2,nilai3,...]
Contoh :
1.li = [100,200,300,400]
2.print(li[0])
3.print(li[1])
Output :
100
200
IV.2.1 Menambah list
Elemen list dapat ditambah dengan menggunakan perintah nama variabel.append
Bentuk umum : variabel.append(‘value’)
Contoh :
1.li = [100,200,300,400]
2.li.append(500)
3.print(li[4])
Output :
500
Output :
200
Value ke: 0 sebelum dihapus adalah 100, saat 100 sudah dihapus, value ke:0 menjadi 200.
Output :
700
IV.3 Tuple
Tuple merupakan list yang tidak dapat diubah.
Bentuk umum :
nama_tuple=(nilai1, nilai2, nilai3, …)
Contoh :
1.nama = (“Iwan”,”Budi”,”Susi”,”Siti”)
2.print(nama[0])
3.print(nama[1])
Output :
Iwan
Budi
Bab VI
Function
Function atau procedure adalah teknik di dalam pemrograman untuk memisahkan blok kode
tertentu dan dapat dipanggil oleh kode utama. Function berguna untuk memisahkan kode yang
sering digunakan berkali-kali, sehingga anda tidak perlu menuliskan kode yang sama secara
berulang. Untuk memanfaatkan function, anda hanya perlu memanggil dengan menuliskan nama
function di blok kode utama . Function dapat memiliki parameter, dapat juga tanpa parameter.
Untuk menuliskan Function di Python diawali dengan kata : def
Contoh 1 :
Tuliskan sebuah program yang mencetak kalimat “Selamat Datang” sebanyak n kali. n diinput
dengan keyboard. Kalimat “Selamat Datang” dituliskan dalam sebuah function.
Jawab :
1.def cetak():
2.print ("Selamat Datang")
3.n = int(input("n:"))
4.for m in range(n):
5. cetak()
Jika diinput n adalah 5.
Output :
0
1
2
3
4
Contoh 2 :
Buatlah program untuk menghitung volume kubus, dengan sisi x yang diinput dengan
keyboard.
Jawab :
1. def hitung(x):
2. vol=x * x * x
3. print (vol,"meter kubik")
4. x=int(input("Sisi Kubus (meter):"))
5. hitung(x)
Jika diinput x adalah 6.
Output :
Sisi kubus (meter) : 6
216 meter kubik
Rumus untuk mencari volume kubus adalah sisi x sisi x sisi, sehingga jika sisi nya adalah 6, maka
6 x 6 x 6 = 216
Contoh 3 :
Buatlah program untuk menghitung luas balok dengan sisi x,y dan z diinput dengan keyboard.
1. def hitung(x,y,z) :
2. vol=x * y * z
3. print (vol,"meter kubik")
4. x=int(input("Panjang Balok (meter):"))
5. y=int(input("Lebar Balok (meter):"))
6. z=int(input("Tinggi Balok (meter):"))
7. hitung(x,y,z)
Hasil Volume balok merupakan perkalian dari 4,5 dan 6 adalah 120 meter kubik.
Bab VII
Menggunakan Pandas untuk pengolahan data CSV
Pandas library (https://pandas.pydata.org) berfungsi untuk modeling dan analisa data di Python.
Pandas berlisensi Open source BSD-Licensed. Library sendiri adalah sekumpulan kode yang dapat
dipergunakan dengan menggunakan nama method atau functionnya. Jika anda menginstall Python
dengan menggunakan Anaconda, maka Panda sudah ikut terinstall.
Jika di dalam komputer anda Panda belum terinstall, maka anda dapat menginstallnya dengan
menggunakan perintah :
pip install pandas
Anda dapat mengecek keberadaan Pandas di komputer anda dengan mencetak versi Pandas yang
ada, dengan perintah :
1.import pandas as pd
2.print (pd.__version__)
Output :
1.1.3
Versi Pandas dapat berbeda-beda pada komputer yang berbeda, tergantung versi mana yang
diinstall. Saat tulisan ini dibuat, versi Pandas komputer yang penulis gunakan adalah : 1.1.3
1. import pandas as pd
2. datanya=pd.read_csv("iris.data",
3. names=[“Sepal_Length”,”Sepal_Width”,”Petal_Length”,”Petal_Width”,”Class”])
4. print(datanya.shape)
Output :
(150,5)
Dimensi datanya yakni (150,5), maksudnya adalah 150 baris dan 5 kolom.
Keterangan script :
1. import pandas as pd
Melakukan load atau import Library pandas dan mengaliaskan dengan pd. Kita dapat menggunakan
variabel selain pd sepanjang memenuhi ketentuan penggunaan variabel, yakni tidak ada spasi, tidak
diawali angka dan tidak ada special character, seperti % atau $.
2. datanya=pd.read_csv("iris.data", names=[“Sepal_Length”,”Sepal_Width”,”Petal_
Length”,”Petal_Width”,”Class”])
Membaca file iris.data yang berupa file CSV dengan memberi nama setiap kolomnya. Jika file
iris.datanya terletak di direktori yang berbeda dengan file py nya, maka perlu dituliskan direktori
nya juga sebelum nama file, contoh jika iris.data berada di direktori c:/data maka perlu ditulis
“c:/data/iris.data”
3. print(datanya.shape)
Mencetak dimensi data. Jika dituliskan di Jupyter Notebook atau Python Shell, dapat juga tanpa
menuliskan print, yaitu : datanya.shape. Demikian juga output yang lain, yang dicetak dengan
perintah print, pada Jupyter Notebook dan Python Shell, dapat ditulis tanpa menggunakan perintah
print.
Selanjutnya, kita akan membaca data lebih lanjut.
a. Mencetak baris pertama dari data
print(list(datanya))
Output : ['Sepal_Length', 'Sepal_Width', 'Petal_Length', 'Petal_Width', 'Class']
karena kita menggunakan names, maka names masuk ke dalam data pertama. Jika kita ingin
outputnya adalah data pertama berupa value, maka kita perlu menghilangkan names pada kode
baris ke 2.
Data kesimpulan ini akan diterangkan pada Bab selanjutnya. Data yang ditampilkan juga terdapat
NaN. NaN singkatan dari Not a Number, adalah sebuah tipe data numerik yang dapat diterjemahkan
ke dalam undefined (tidak terdefinisikan) atau unrepresentable (tidak terwakili) terutama dalam
bilangan Real [4].
h. Mengurutkan data berdasarkan kolom “class”.
print(datanya.sort_values(“class”))
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
0 5.1 3.5 1.4 0.2 Iris-setosa
27 5.2 3.5 1.5 0.2 Iris-setosa
28 5.2 3.4 1.4 0.2 Iris-setosa
29 4.7 3.2 1.6 0.2 Iris-setosa
30 4.8 3.1 1.6 0.2 Iris-setosa
.. ... ... ... ... …
119 6.0 2.2 5.0 1.5 Iris-virginica
120 6.9 3.2 5.7 2.3 Iris-virginica
121 5.6 2.8 4.9 2.0 Iris-virginica
111 6.4 2.7 5.3 1.9 Iris-virginica
149 5.9 3.0 5.1 1.8 Iris-virginica
Untuk menampilkan kesimpulan pada data, kita dapat menggunakan perintah Describe yang
sudah dipergunakan pada Bab VII. Kita akan tampilkan lagi perintah tersebut dengan menggunakan
data Iris.
print(datanya.describe(include=’all’))
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
count 150.000000 150.000000 150.000000 150.000000 150
unique NaN NaN NaN NaN 3
top NaN NaN NaN NaN Iris-versicolor
freq NaN NaN NaN NaN 50
mean 5.843333 3.054000 3.758667 1.198667 NaN
std 0.828066 0.433594 1.764420 0.763161 NaN
min 4.300000 2.000000 1.000000 0.100000 NaN
25% 5.100000 2.800000 1.600000 0.300000 NaN
50% 5.800000 3.000000 4.350000 1.300000 NaN
75% 6.400000 3.300000 5.100000 1.800000 NaN
max 7.900000 4.400000 6.900000 2.500000 NaN
Keterangan :
unique, top dan freq berlaku untuk kolom dengan data bertipe String, sedangkan mean, standard
deviasi (std), min, 25%, 50%, 75% dan max berlaku untuk data bertipe numerik. Data yang bukan
peruntukkannya, seperti top untuk data string sedangkan Sepal_Length datanya bertipe numerik,
maka Sepal_Length bernilai NaN.
Untuk mengetahui proses perhitungan kesimpulan data di atas, kita akan mendapatkan kesimpulan
data dengan menggunakan Pandas dan juga menghitung secara manual agar dapat lebih diketahui
proses munculnya data pada kesimpulan tersebut, sehingga pemahaman kita mengenai lebih baik.
Terdapat data nilai Matematika siswa berikut :
Nama Nilai
Ali 65
Sinta 75
Rani 85
Vivian 100
Toni 70
Burhan 85
Aisyah 100
Umar 100
Tini 80
Nia 63
Ihsan 61
Data pada tabel tersebut disimpan di file data_nilai.csv. Kita akan menggunakan pandas untuk
mendapatkan kesimpulan data nya.
1. import pandas as pd
2. dataku=pd.read_csv("data_nilai.csv",names=["Nama","Nilai"])
3. print(dataku.describe())
Output :
Nilai
count 11.000000
mean 80.363636
std 14.995151
min 61.000000
25% 67.500000
50% 80.000000
75% 92.500000
max 100.000000
Keterangan :
Count : Jumlah data ada 11 buah
mean : Disebut juga, rata-rata, yaitu : 80.363636
N
Xi
mean memiliki rumus sebagai berikut : μ =∑
i=1 N
N = jumlah data, yakni 11. Sehingga
(65 + 75 + 85 + 100 + 70 + 85 + 100 + 100 + 80 + 63 + 61) = 80,363636
11
- Min : Nilai minimal, yakni 61
- Max : Nilai maximal, yakni 100
- 25% atau Quartile 1 atau Q1 : Pada data tersebut yakni data di urutan 3.5 atau (data urutan 3 +
data urutan 4) / 2.
Data kita urutkan menjadi : 61,63,65,70,75,80,85,85,100,100,100
maka 25% nya adalah (65+70)/2 = 135/2 = 67.5
- 50% atau Quartile 2 atau Q2 atau Median : Yaitu data tengah. Pada data setelah diurutkan tersebut
adalah data urutan ke 6 = 80
- 75% atau Quartile 3 atau Q3 : yaitu data ke 75%. pada data setelah diurutkan tersebut adalah data
urutan ke 8.5 = (data ke 8 + data ke 9)/2 = (85 + 100) /2 = 92.5
- Std atau Standard Deviasi : Dihitung denganmenggunakan rumus berikut :
N
σ=
√ ∑ (x i−μ )2
i=1
N
μ =80.363636
Sehingga :
σ = √ (61 – 80,363636)2 + (63 – 80,363636)2 + (65 – 80,363636)2 + (70 – 80,363636)2 +
(75 – 80,363636)2 + (80 – 80,363636)2 + (85 – 80,363636)2 + (85 – 80,363636)2 +
(100 – 80,363636)2 + (100 – 80,363636)2 + (100 – 80,363636)2
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
11
= √ (-19,363636)2 + (-17,363636)2 + (-15,363636)2 + (-10,363636)2 + (-5,363636)2 +
(-0.363636)2 + (5,363636)2 + (5,363636)2 + (20,363636)2 + (20,363636)2 +
(20,363636)2
---------------------------------------------------------------------------------------------------------
11
= √ 374,950 + 301,496 + 236,041 + 107,405 + 28.769 + 0,132 + 28,769 + 28,769 +
414,678 + 414,678 + 414,678
--------------------------------------------------------------------------------------------------------
11
2350,365
=
√ 11
= √ 213,670
= 14,617
Hasilnya hampir sama dengan 14.995151, hanya beda angka dibelakang koma, karena pembulatan
perhitungan.
Bab IX
Modifikasi Tampilan Data
Terkadang data yang ditampilkan perlu dimodifikasi untuk keperluan tertentu. Kita tidak perlu
merubah data asalnya, cukup dengan memodifikasi tampilan data nya saja. Terdapat beberapa
perintah dalam pandas yang dapat kita gunakan untuk melakukan modifikasi tampilan data. Data
yang digunakan masih data Iris yang digunakan pada Bab sebelumnya.
IX.1 assign
Perintah assign digunakan untuk menambah kolom baru pada tampilan data. Data pada file csv
tidak berubah, kita hanya menambah kolom baru pada tampilan datanya saja. Misal kita ingin
menambah tampilan kolom baru pada data Iris, yakni kolom penjumlahan dari Sepal_Width dan
Petal_Width. Scriptnya adalah sebagai berikut :
1.import pandas as pd
2.datanya=pd.read_csv("iris.data",
3.names=["Sepal_Length","Sepal_Width","Petal_Length","Petal_Width","Class"])
4.ubah_data=datanya.assign(var_baru=datanya[‘Sepal_Width’]+
5.datanya[‘Petal_Width’])
6.print(ubah_data.head(3))
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class var_baru
0 5.1 3.5 1.4 0.2 Iris-setosa 3.7
1 4.9 3.0 1.4 0.2 Iris-setosa 3.2
2 4.7 3.2 1.3 0.2 Iris-setosa 3.4
pada Output di atas terdapat kolom var_baru yang nilai nya adalah penjumlahan dari Sepal_Width
dan Petal_Width.
Untuk selanjutnya script baris no:1 s/d baris no:3 pada contoh script selanjutnya tidak ditulis
ulang kembali.
IX.2 drop
drop berfungsi untuk menghilangkan baris. Contoh, kita akan menghilangkan 2 baris di urutan 1
dan 3.
datanya.drop(datanya.index[1:3], axis=0, inplace=True)
print(datanya.head(3))
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
0 5.1 3.5 1.4 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
5 5.4 3.9 1.7 0.4 Iris-setosa
6 4.6 3.4 1.4 0.3 Iris-setosa
7 5.0 3.4 1.5 0.2 Iris-setosa
Pada output terlihat data dengan index ke 1 sampai dengan 3 tidak ditampilkan. Pada file
iris.data, data nya masih ada namun tampilannya yang dihilangkan.
Drop juga dapat menghilangkan baris dengan kriteria tertentu, seperti script berikut yang
menghilangkan data dengan class Iris-setosa :
datanya.drop(datanya[datanya.Class=='Iris-setosa'].index,inplace=True)
print(datanya.head(5))
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
50 7.0 3.2 4.7 1.4 Iris-versicolor
51 6.4 3.2 4.5 1.5 Iris-versicolor
52 6.9 3.1 4.9 1.5 Iris-versicolor
53 5.5 2.3 4.0 1.3 Iris-versicolor
54 6.5 2.8 4.6 1.5 Iris-versicolor
IX.3 Subsetting
Subsetting adalah menampilkan sebagian data dengan range tertentu. Kita akan menggunakan
perintah loc yang berfungsi untuk subsetting baris (row subsetting).
Contoh 1 : Menampilkan data dari baris 4 ke 9
print(datanya.loc[4:9])
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
4 5.0 3.6 1.4 0.2 Iris-setosa
5 5.4 3.9 1.7 0.4 Iris-setosa
6 4.6 3.4 1.4 0.3 Iris-setosa
7 5.0 3.4 1.5 0.2 Iris-setosa
8 4.4 2.9 1.4 0.2 Iris-setosa
9 4.9 3.1 1.5 0.1 Iris-setosa
Pada output terlihat data yang tampil adalah data dengan index dari 4 hingga 9.
Contoh 2 : Menampilkan data index 0,2 dan 4
print(datanya.loc[[0,2,4]])
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
0 5.1 3.5 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
Output akan menampilkan semua data yang class nya bernilai Iris-setosa.
Contoh 2 : Menampilkan data yang class nya adalah Iris-setosa dan petal_length nya adlaah 1,5
print(datanya[(datanya.Class=’Iris-setosa’) & (datanya.Petal_Length==1.5)])
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
3 4.6 3.1 1.5 0.2 Iris-setosa
7 5.0 3.4 1.5 0.2 Iris-setosa
9 4.9 3.1 1.5 0.1 Iris-setosa
10 5.4 3.7 1.5 0.2 Iris-setosa
15 5.7 4.4 1.5 0.4 Iris-setosa
19 5.1 3.8 1.5 0.3 Iris-setosa
21 5.1 3.7 1.5 0.4 Iris-setosa
27 5.2 3.5 1.5 0.2 Iris-setosa
31 5.4 3.4 1.5 0.4 Iris-setosa
32 5.2 4.1 1.5 0.1 Iris-setosa
34 4.9 3.1 1.5 0.1 Iris-setosa
37 4.9 3.1 1.5 0.1 Iris-setosa
39 5.1 3.4 1.5 0.2 Iris-setosa
48 5.3 3.7 1.5 0.2 Iris-setosa
IX.3.3 Mengurutkan data
Mengurutkan data menggunakan perintah sort_values
Syntax :
DataFrame.sort_values(self,axis=0,ascending=True,inplace=False,kind=’quicksort’,
na_position=’last’)
Contoh :
Mengurutkan data berdasarkan Sepal_Length secara Ascending.
print(datanya.sort_values (by=[‘Sepal_Length’]))
Output :
Sepal_Length Sepal_Width Petal_Length Petal_Width Class
13 4.3 3.0 1.1 0.1 Iris-setosa
42 4.4 3.2 1.3 0.2 Iris-setosa
38 4.4 3.0 1.3 0.2 Iris-setosa
8 4.4 2.9 1.4 0.2 Iris-setosa
41 4.5 2.3 1.3 0.3 Iris-setosa
.. ... ... ... ... …
122 7.7 2.8 6.7 2.0 Iris-virginica
118 7.7 2.6 6.9 2.3 Iris-virginica
117 7.7 3.8 6.7 2.2 Iris-virginica
135 7.7 3.0 6.1 2.3 Iris-virginica
131 7.9 3.8 6.4 2.0 Iris-virginica
Bab X
Merge dengan Pandas, Numpy dan Matplotlib
Merge dengan Pandas adalah menggabungkan 2 tabel dengan menggunakan sebuah atribute
sebagai key nya. Merge mengimplementasikan sejumlah tipe join, yakni : one-to-one, many-to-one
dan many-to-many joins.
One-to-one joins yaitu menggabungkan 2 tabel yang memiliki atribute key yang sama untuk
digunakan melakukan join. Many-to-one joins yaitu menggabungkan 2 tabel yang mana 1 tabel
memiliki 2 kolom yang digunakan untuk melakukan join. Many-to-many joins yaitu
menggabungkan 2 tabel yang mana 1 tabel memiliki lebih dari 1 atribute key dan tabel lain
memiliki 1 tabel key [6].
1101,budi,100
1102,Tino,80
1104,Siti,90
1105,Mimin,70
1106,Harun,82
1101,budi,60
1102,Tino,70
1104,Siti,80
1105,Mimin,50
1110,Ujang,90
Keterangan :
Kolom 1 : NIS
Kolom 2 : Nama
Kolom 3 : Nilai
Selanjutnya kita akan mencoba melakukan merge kedua data tersebut degna script sebagai
berikut :
1. # Untuk import dan load data csv
2. import pandas as pd
3. nilai_biologi=pd.read_csv("nilai_biologi.csv",names=["NIS","Nama","Nilai_Biologi"])
4.nilai_matematika=pd.read_csv("nilai_matematika.csv",names=["NIS","Nama","Nilai_Matematik
5. a"])
6. # Untuk melihat shape (baris dan kolom) dari data
7. print(nilai_biologi.shape)
8. print(nilai_matematika.shape)
9. # Untuk melihat daftar nilai Biologi dan nilai Matematika
10. print("Daftar Nilai Biologi")
11. print(nilai_biologi)
12. print("Daftar Nilai Matematika")
13. print(nilai_matematika)
14. # Untuk merge dan print hasil merge
15. gabung=pd.merge(nilai_biologi,nilai_matematika)
16. print(gabung)
Output :
(5, 3)
(5, 3)
Daftar Nilai Biologi
NIS Nama Nilai_Biologi
0 1101 budi 60
1 1102 Tino 70
2 1104 Siti 80
3 1105 Mimin 50
4 1110 Ujang 90
9. print(nilai_matematika.shape)
Mencetak dimensi dari data nilai Matematika, outputnya adalah : (5,3), artinya data terdiri dari 5
baris dan 3 kolom.
16. gabung=pd.merge(nilai_biologi,nilai_matematika)
Menerapkan perintah merge untuk menggabungkan data nilai_biologi dan nilai_matematika dan
menyimpannya dalam variabel gabung.
17. print(gabung)
Mencetak hasil penggabungan 2 data
Hasil penggabungan kedua data memuat nilai siswa yang NIS dan namanya ada di kedua tabel.
Bagi siswa yang namanya hanya ada di salah satu tabel saja, yakni Ujang yang ada namanya di
Daftar Nilai Biologi namun tidak ada di Daftar Nilai Matematika, maka Ujang tidak ada datanya di
data hasil merge. Demikian pula dengan Harun yang hanya ada di Daftar Nilai Matematika dan
tidak ada datanya di Daftar Nilai Biologi, maka Harun tidak ada datanya di data hasil merge. Untuk
kolom Nilai_Biologi dan Nilai_Matematika pada data hasil merge, kedua kolom tersebut tertera.
X.2 Numpy
Contoh Script :
1. Kita pernah mengenal list dalam Python. Ada juga Array yang bentuknya seperti List. Array
memiliki dimensi seperti Array 1 dimensi dan array 2 dimensi.
Script mencetak array 1 dimensi dengan elemen array dari 0 hingga 14.
1. x=np.arange(15)
2. x
Output :
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
2.Mencetak array 2 dimensi dengan dimensi (3,5) dengan elemen default dari 0 sampai dengan 15.
1. import numpy as np
2. a=np.arange(15).reshape(3,5)
3. print(a)
Output :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
Output :
(3,5)
4. Mencetak Dimensi array a dengan menggunakan ndim
Contoh : a.ndim
Output :
2
Output :
‘int64’
Output :
8
Dikarenakan elemen dari array a adalah integer dan integer dalam byte berukuran 8 byte, maka
dicetak 8.
Output :
15
karena jumlah elemen array a berjumlah 15 (dari 0 hingga 14), maka size berukuran 15.
Output :
numpy.ndarray
array([12,15,18,21])
array([0, 4, 8])
array([[ 0, 1, 3, 6],
[ 4, 9, 15, 22],
[ 8, 17, 27, 38]])
X.3 Matplotlib
Output :
3.3.2
Output :
3.3.2
Data pada grafik yang berhasil dibuat adalah grafik dari array yang dibuat dengan Numpy
dengan elemen array adalah : 4,6,10,11,20
Sumbu x menunjukkan index nya dari 0 hingga 4 sedangkan sumbu Y menunjukkan nilai elemen
array nya.
Bab XI
Visualisasi data dengan Matplotlib
Pada bab sebelumnya kita sudah membahas mengenai Matplotlib. Di bab ini kita akan membahas
2 contoh visualisasi yang dibuat dengan menggunakan Matplotlib.
1. Mencetak Diagram Batang dengan data dari dictionary [9]
1.import matplotlib.pyplot as plt
2.data = {'apple': 10, 'orange': 15, 'lemon': 5, 'lime': 20}
3.names = list(data.keys())
4.values = list(data.values())
5.plt.bar(names, values)
6.plt.suptitle('Categorical Plotting')
Output :
Output berupa diagram batang. Label Sumbu X berupa keys dari dictionary dan label sumbu y
berupa values dari dictionary.
Contoh mencetak data dengan nilai sumbu X dan Y.
1.import matplotlib.pyplot as plt2
2.fig,ax = plt.subplots()
3.ax.plot([1,2,3,4],[1,4,2,3])
Output :