0% menganggap dokumen ini bermanfaat (0 suara)
27 tayangan10 halaman

Praktikum Descriptive Analytics dengan Pandas

Pyton

Diunggah oleh

hilangharapan576
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
27 tayangan10 halaman

Praktikum Descriptive Analytics dengan Pandas

Pyton

Diunggah oleh

hilangharapan576
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

MODUL 3

PRAKTIKUM PENGENALAN KOMPUTASI


PYTHON (GOOGLE COLABORATORY)

TIM MATERI PENGENALAN KOMPUTASI 2022/2023


STREAM DATA ANALYSIS
Daftar Isi

3.1 Pendahuluan 3

3.2 Pandas 3

3.3 Membuat Dataframe 3

3.4 Membaca dan Menulis Data 4


3.4.1 Membaca Data 4
3.4.2 Menulis Data 5

3.5 Mengakses Data 6


3.5.1 Mengakses data melalui indeks 6
3.5.2 Mengakses data menggunakan kolom 6
3.5.3 Panjang dari data 7
3.5.4 Mengakses data berdasarkan kriteria 7

3.6 Mengambil Ekstremum 8

3.7 Menentukan Range (Jangkauan) 8

3.8 Mengurutkan Data 8

3.9 Membuat Tabel Frekuensi 9

3.10 Group By 9

3.11 Statistik Sederhana 10

3.12 Koefisien Korelasi 10


Modul 3 Descriptive Analytics dengan Pandas

Data, notebook, dan video tutorial untuk modul ini dapat Anda akses di Drive Pengkom
([Link]/PengkomGanesha2223 atau [Link]/PengkomJatinangor2223). Sebaiknya Anda coba dahulu
notebook tersebut supaya dapat lebih mengerti modul ini.

3.1 Pendahuluan

Data analytics (analitika data) adalah bidang yang menggunakan data dan tools untuk membuat
keputusan. Terdapat empat jenis data analytics, yaitu descriptive analytics, diagnostic analytics,
predictive analytics, dan prescriptive analytics. Pada modul ini, kita akan mempelajari descriptive
analytics.
Descriptive analytics adalah analisis terhadap data historikal untuk menemukan suatu kesimpulan,
pola, ataupun perubahan yang terjadi. Pada descriptive analytics, kita ingin menjawab pertanyaan
“What happened?”
Contoh dari hasil descriptive analysis:
● Banyaknya friend, mention, followers, page views
● Perbandingan banyaknya mahasiswa antar prodi di ITB
● Hubungan antara banyaknya jam belajar dengan prestasi akademik

3.2 Pandas

Pandas (gaya penulisan: pandas) atau Python for data analysis adalah sebuah library yang dibuat
oleh Wes McKinney pada tahun 2008 dan dapat digunakan untuk menganalisis dan memanipulasi
data. Dengan pandas, kita dapat membuat data berbentuk tabular yang dinamakan dataframe (styling:
DataFrame). Data tabular memiliki kolom dan baris.
Ketika kita ingin menggunakan pandas, kita harus import library-nya terlebih dahulu.

import pandas as pd

3.3 Membuat Dataframe

Sebelum analisis, kita harus menyiapkan data yang kita akan pakai dengan membuatnya (jika belum
ada data). Terdapat banyak cara untuk membuat dataframe. Berikut dua cara yang dapat kita pakai.

# cara 1
dataMhs = {"NIM": ["19921001", "19921002", "19919003"],
"Nama" : ["Bin Bin", "Atung", "Kaka"],
"Nilai": [75, 80, 90]} # menyiapkan dataMhs
df1 = [Link](data=dataMhs) # membuat dataMhs menjadi dataframe
print(df1) # print dataframe yang tadi dibuat
# cara 2
d = {"one" : [Link]([1.,2.,3.], index=["a","b","c"]),
"two" : [Link]([1.,2.,3.,4.], index=["a","b","c","d"])}
df2 = [Link](d)
print(df2)

Dihasilkan dataframe berikut:

Tip: ketika menggunakan Colab, kita bisa menampilkan suatu objek dengan menuliskan objek
tersebut (tanpa print), asalkan kode hanya satu baris atau ada di akhir baris.

3.4 Membaca dan Menulis Data

3.4.1 Membaca Data

Jika data untuk analisisnya sudah ada, sebaiknya kita membaca datanya saja langsung supaya dapat
dipakai. Sebelum membuka data, kita harus meng-upload datanya terlebih dahulu ke Colab.
1. Save data (csv/xlsx) yang akan kalian pakai terlebih dahulu apabila belum ada di komputer
kalian.
2. Buka Colab, klik “Files” di bar paling kiri.
3. Di Files, klik “Upload to session storage” .
4. Pilih file data yang akan di upload (catatan: file ini akan terhapus apabila session kalian
selesai, yaitu jika sudah 12 jam session berjalan).
Untuk membaca data csv, kita dapat menggunakan read_csv. Untuk membaca data excel, kita dapat
menggunakan read_excel. Kita tidak perlu import pandas lagi apabila sudah di awal.

# read CSV
# pandas akan membaca file [Link]
# yang ada di Files Colab
df1 = pd.read_csv("[Link]") # import data sebagai df1
print(df1)

# read xlsx
# pandas akan membaca file [Link] yang ada di Files Colab
# namun hanya "Sheet 1"
df2 = pd.read_excel("[Link]", sheet_name="Sheet 1") # import sebagai df2
print(df2)

# apabila data hanya punya 1 sheet, tidak perlu memakai sheet_name


# sheet_name bisa dipakai juga di read_csv

Setelah membaca suatu data, sebaiknya kita lihat dahulu beberapa data pertamanya untuk mengetahui
bagaimana kira-kira isi datanya, seperti apa saja kolomnya, isi kolomnya, dan lain-lain.

[Link]() # menunjukkan lima data pertama dari df1 (n kosong = 5)


# apabila ingin menunjukkan n data pertama dari df, buat [Link](n)

3.4.2 Menulis Data

Misalkan kita punya sebuah dataframe bernama df. Jika kita ingin membuat csv atau xlsx baru
menggunakan dataframe tersebut, kita dapat menggunakan df.to_csv atau df.to_excel.

# pandas akan menulis data ke file data_out.csv


# dan menyimpannya di Files Colab
df1.to_csv("data_out.csv")

# pandas akan menulis data ke data_out.xlsx


# di sheet bernama "Sheet 1" dan "Sheet 2"
writer = [Link]("data_out.xlsx")
df1.to_excel(writer , "Sheet1")
df2.to_excel(writer , "Sheet2")
[Link]()

# apabila data hanya satu sheet tidak perlu pakai writer


# langsung df2.to_excel saja
3.5 Mengakses Data
3.5.1 Mengakses data melalui indeks

Indeks pada Python mulai dari 0, sehingga data ke-5 dari dataframe memiliki indeks ke-4. Perhatikan
contoh proses selecting data berikut.

import pandas as pd
df = pd.read_csv("[Link]")
# mengambil data ke-5
print([Link][4])
# Tahun 2009
# Cakupan Prov. Jawa Barat
# Tingkat_Inflasi 2.02
# Name: 4, dtype: object

Perhatikan contoh di bawah. Apabila dilambangkan dengan selang pada matematika, indexing pada
Python menggunakan sistem [a, b) dengan a adalah indeks elemen pertama yang akan dipilih dan b
adalah indeks setelah indeks terakhir elemen yang dipilih. Perhatikan contoh berikut.

# mengambil data ke-5 hingga 7 (mengambil indeks ke-4 hingga ke-6)


print(df[4:7])
# Tahun Cakupan Tingkat_Inflasi
# 4 2009 Prov. Jawa Barat 2.02
# 5 2009 Nasional 2.78
# 6 2010 Kota Bandung 4.53

Apabila kalian tidak menulis indeks awal atau indeks akhir saat sedang mengakses elemen, pandas
akan mengakses hingga sisa datanya.

# mengambil data ke-17 hingga akhir (mengambil indeks ke-16 dan seterusnya)
print(df[16:])
# Tahun Cakupan Tingkat_Inflasi
# 16 2013 Prov. Jawa Barat 9.15
# 17 2013 Nasional 8.38

# mengambil 5 data pertama


print(df[:5])
# Tahun Cakupan Tingkat_Inflasi
# 0 2008 Kota Bandung 10.23
# 1 2008 Prov. Jawa Barat 11.11
# 2 2008 Nasional 11.06
# 3 2009 Kota Bandung 2.11
# 4 2009 Prov. Jawa Barat 2.02

3.5.2 Mengakses data menggunakan kolom

Selain menggunakan indeks, kita bisa mengakses data menggunakan nama kolom dengan loc.

# mengambil kolom "Cakupan" dari data berindeks 1


print([Link][1, "Cakupan"])
# 'Prov. Jawa Barat'

Berbeda dengan indexing Python yang biasa, saat menggunakan loc kita mengakses data dengan
selang [a, b], dengan a adalah indeks elemen pertama yang akan dipilih dan b adalah indeks terakhir
elemen yang dipilih. Perhatikan contoh berikut

# mengambil kolom "Tahun" sampai "Cakupan"


# dari data ke-2 sampai ke-4 (indeks ke-1 sampai ke-3)
print([Link][1:3, "Tahun":"Cakupan"])
# Tahun Cakupan
# 1 2008 Prov. Jawa Barat
# 2 2008 Nasional
# 3 2009 Kota Bandung

# mengambil data kolom "Tahun" saja (berarti mengambil keseluruhan baris)


print([Link][:,"Tahun"]) # atau df[“Tahun”]

3.5.3 Panjang dari data

Kita dapat mengecek jumlah atau panjang (length) dari data.

len(df) # 18

3.5.4 Mengakses data berdasarkan kriteria

Kita juga dapat mengakses data berdasarkan kondisi atau kriteria tertentu. Perhatikan contoh berikut.

# mengambil data tahun 2012


print([Link][df["Tahun"] == 2012])
# Tahun Cakupan Tingkat_Inflasi
# 12 2012 Kota Bandung 4.02
# 13 2012 Prov. Jawa Barat 3.86
# 14 2012 Nasional 4.30

# mengambil data Kota Bandung sebelum tahun 2012


print([Link][(df["Cakupan"] == "Kota Bandung") & (df["Tahun"] < 2012)])
# Tahun Cakupan Tingkat_Inflasi
# 0 2008 Kota Bandung 10.23
# 3 2009 Kota Bandung 2.11
# 6 2010 Kota Bandung 4.53
# 9 2011 Kota Bandung 2.75
# mengambil data dengan tingkat inflasi di atas 10
# atau di bawah 3
print([Link][(df["Tingkat_Inflasi"] > 10) | (df["Tingkat_Inflasi"] < 3)])
# Tahun Cakupan Tingkat_Inflasi
# 0 2008 Kota Bandung 10.23
# 1 2008 Prov. Jawa Barat 11.11
# 2 2008 Nasional 11.06
# 3 2009 Kota Bandung 2.11
# 4 2009 Prov. Jawa Barat 2.02
# 5 2009 Nasional 2.78
# 9 2011 Kota Bandung 2.75

3.6 Mengambil Ekstremum

Ekstremum adalah data yang ekstrem: paling tinggi atau paling rendah. Contoh di bawah memilih
data ekstremum untuk kolom Tingkat_Inflasi.

# Mengambil data dengan inflasi maksimum


imax = df["Tingkat_Inflasi"].idxmax() # mengambil indeks dari data max
print(df[imax:imax + 1]) # print
# Tahun Cakupan Tingkat_Inflasi
# 1 2008 Prov. Jawa Barat 11.11

# Mengambil data dengan inflasi minimum


imin = df["Tingkat_Inflasi"].idxmin() # mengambil indeks dari data min
print(df[imin:imin + 1])
# Tahun Cakupan Tingkat_Inflasi
# 4 2009 Prov. Jawa Barat 2.02

3.7 Menentukan Range (Jangkauan)

Range atau jangkauan adalah nilai paling besar dari data dikurangi nilai minimumnya.

# Mengambil nilai minimum dan maximum tiap kolom


minimum = [Link]()
maximum = [Link]()
# Menuliskan range tingkat inflasi
print(maximum["Tingkat_Inflasi"]) # 11.11
print(minimum["Tingkat_Inflasi"]) # 2.02
print("Range:", 11.11-2.02)

Apa bedanya [Link]() dengan cara mengambil ekstremum pada bab 3.6? Apabila Anda jalankan,
[Link]() akan menunjukkan nilai maksimum untuk ketiga kolom, sementara cara pada bab 3.6
hanya mengambil nilai maksimum untuk kolom Tingkat_Inflasi. Kapan menggunakan cara pada
bab 3.6 atau bab ini tergantung pada analisis yang anda lakukan.
3.8 Mengurutkan Data

Data dapat diurutkan secara menaik (ascending) atau menurun (descending). Pengurutan ini
dilakukan berdasarkan nilai pada suatu kolom. Perhatikanlah contoh berikut.

# Mengurutkan data berdasar tingkat inflasi, ascending


print(df.sort_values(["Tingkat_Inflasi"], ascending=[1]))
# apabila ingin mengurutkan secara descending, gunakan ascending=[0]
Kita juga dapat mengurutkan data berdasarkan lebih dari satu nilai kolom.

# Mengurutkan data berdasar tahun ascending ,


# lalu tingkat inflasi descending
print(df.sort_values(["Tahun", "Tingkat_Inflasi"], ascending=[1, 0]))

3.9 Membuat Tabel Frekuensi

Kita dapat membuat tabel berisi frekuensi munculnya suatu nilai kolom tertentu. Perhatikan contoh
berikut.

# Mendaftar kemunculan tiap tahun pada data


# (membuat tabel berisi frekuensi munculnya nilai kolom “Tahun”)
print(df["Tahun"].value_counts())
# 2013 3
# 2012 3
# 2011 3
# 2010 3
# 2009 3
# 2008 3

3.10 Group By

Group by adalah perintah untuk membagi data dalam kelompok berbeda berdasarkan suatu variabel
tertentu. Untuk melakukan group by, kita harus mengelompokkan data berdasarkan suatu atribut
dahulu, misalnya [Link]("gender"). Apabila ingin melihat pengelompokkan satu atau
beberapa kolom saja, ketik kolom yang akan dikelompokkan, sehingga perintah menjadi
[Link]("gender")["num_children"]. Terakhir, pilih fungsi statistik yang akan digunakan:
sum(), max(), min(), mean(), first(), last(), size() sehingga fungsi menjadi
[Link]("gender")["num_children"].sum()

Perhatikan contoh berikut.

df = pd.read_csv("[Link]")

# mendapatkan total anak per kelompok gender


[Link]("gender")["num_children"].sum()
# gender
# F 1
# M 11

# mendapatkan rata-rata jumlah peliharaan


# per kelompok gender per state
[Link](["gender", "state"])["num_pets"].mean()
# gender state
# F DC 0.000000
# TX 2.000000
# M CA 2.333333
# DC 5.000000
# TX 3.000000

3.11 Statistik Sederhana

df = pd.read_csv("[Link]")

# statistika deskriptif
[Link]()
# Tahun Tingkat_Inflasi
# count 18.000000 18.000000
# mean 2010.500000 5.818889
# std 1.757338 3.148673
# min 2008.000000 2.020000
# 25% 2009.000000 3.272500
# 50% 2010.500000 4.415000
# 75% 2012.000000 8.277500
# max 2013.000000 11.110000

Dari data di atas, kita bisa melihat ada 18 data. Rata-rata tingkat inflasi adalah 5.8189. Standar
deviasi dari tingkat inflasi adalah 3.1487. Tingkat inflasi minimum adalah 2.02 dan maksimumnya
11.11. Tingkat inflasi memiliki kuartil bawah 3.273, kuartil tengah 4.4150, dan kuartil atas 8.2775.
Kita dapat juga mengambil statistik satu per satu.

[Link]()
# Tahun 2010.500000
# Tingkat_Inflasi 5.818889
df["Tingkat_Inflasi"].mean() # 5.818888888888889
df["Tingkat_Inflasi"].std() # 3.1486727154915681

3.12 Koefisien Korelasi

Dua kolom pada data yang sama bisa memiliki korelasi. Tingkat korelasi ini kita sebut sebagai
koefisien korelasi. Cara memaknai koefisien korelasi adalah sebagai berikut:
● Semakin mendekati 0, semakin dua kolom tidak berkorelasi.
● Semakin mendekati 1, semakin dua kolom berbanding lurus.
● Semakin mendekati -1, semakin dua kolom berbanding terbalik.
Berikut ini adalah contoh bila kita ingin melihat korelasi tahun dengan tingkat inflasi:

df["Tingkat_Inflasi"].corr(df["Tahun"])
# -0.14436706812989372

Anda mungkin juga menyukai