0% menganggap dokumen ini bermanfaat (0 suara)
120 tayangan29 halaman

Komputasi DescriptiveAnalyticsStatistics

Diunggah oleh

Felicia Priskilla
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 PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
120 tayangan29 halaman

Komputasi DescriptiveAnalyticsStatistics

Diunggah oleh

Felicia Priskilla
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 PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 29

Descriptive Analytics dengan

Python Pandas

Tim Penyusun Materi Pengenalan Komputasi


Institut Teknologi Bandung © 2019
Objektif
• Mahasiswa dapat mempraktikkan teknik dalam Descriptive
Analytics dan EDA untuk melakukan analisis data sederhana
dengan menggunakan Python Pandas

12/21/2020 Pengenalan Komputasi 2


Klasifikasi Data Analytics

Sumber:
2017 Planning Guide for Data and Analytics
12/21/2020 Pengenalan Teknologi Informasi 3
Descriptive Analytics
• Jenis paling sederhana dari Data Analytics
• Analisis terhadap data history untuk mendapatkan profil umum dalam bentuk
summary dari data atau hubungan antar data untuk menjelaskan situasi yang
telah terjadi.
• Contoh hasil analisis:
• Banyaknya friend, mention, followers, page views
• Banyaknya page views
• Perbandingan banyaknya mahasiswa antar prodi di ITB
• Rata-rata nilai mahasiswa peserta PTIB
• Hubungan antara banyaknya jam belajar dengan prestasi akademik
• Ada kecenderungan bahwa orang beli roti tawar bersamaan dengan butter/mentega
• dll

12/21/2020 Pengenalan Komputasi 4


Contoh-contoh kegiatan Data Analysis
Descriptive Analytics dan Exploratory DA
• Retrieve Value (Selection)
• Filter
• Compute Derived Value
• Find Extremum
• Sort
• Determine Range
• Characterize Distribution
• Find Anomalies
https://en.wikipedia.org/wiki/Data_analysis
• Correlation
• Clustering
12/21/2020 Pengenalan Komputasi 5
Tipe Data
• Categorical-Nominal
• Nama negara, warna kulit, nama program studi, dll
• Categorical-Ordinal
• Likert scale (“sangat setuju” s.d. “sangat tidak setuju”)
• Indeks nilai A, B, C, D, E
• Categorical-Binary
• Jenis kelamin, status mahasiswa (aktif, tidak aktif), dll
• Quantitative-Discrete
• Banyaknya anak, banyaknya mahasiswa, banyaknya sks lulus
• Quantitative-Continues
• Usia, berat badan, tinggi, suhu

12/21/2020 Pengenalan Komputasi 6


Pandas
• Pandas = Python Data Analysis Library
• Dikembangkan We McKinney 2008
• Sebuah library open source yang menyediakan
model data terstruktur dan fungsi manipulasi dan
analisis data dalam lingkungan bahasa
pemrograman Python
• Instalasi Pandas: dalam paket Anaconda
(http://www.anaconda.com)
• Model data pada Pandas disebut DataFrame:
data dalam bentuk tabular (tabel dengan kolom
dan baris) https://pandas.pydata.org/

12/21/2020 Pengenalan Komputasi 7


Create DataFrame
import pandas as pd
dataMhs = {"NIM": ["16519001", "16519002", "16519003"],
"Nama" : ["Bin Bin", "Atung", "Kaka"],
"NilaiPTIB": [75, 80, 90]}
df1 = pd.DataFrame(data=dataMhs)
print(df)

d = {"one" : pd.Series([1.,2.,3.], index=["a","b","c"]),


"two" : pd.Series([1.,2.,3.,4.], index=["a","b","c","d"])}
df2 = pd.DataFrame(d)

12/21/2020 Pengenalan Komputasi 8


Baca dan Tampilkan Data
• Baca Data dari File CSV
import pandas as pd
df3 = pd.read_csv("D:/medali.csv")
print(df3)

• Baca Data dari File Spreadsheet (.xlsx)


import pandas as pd
sn = "Sheet1"
df4 = pd.read_excel("D:/medali.xlsx",sheet_name=sn)
print(df4)
Sumber data: https://www.bola.com/pages/perolehan-medali/
12/21/2020 Pengenalan Komputasi 9
Tulis Data
• Tulis Data ke File CSV
# Asumsi df3 sudah terdefinisi (lihat slide sebelumnya)
df3.to_csv("D:/medali_out.csv")

• Tulis Data ke File Spreadsheet (.xlsx)


# Asumsi df4 sudah terdefinisi (lihat slide sebelumnya)
writer = pd.ExcelWriter("D:/medali_out.xlsx")
df4.to_excel(writer, "Sheet1")
df4.to_excel(writer, "Sheet2") #tulis data yang sama di sheet lain
writer.save()

12/21/2020 Pengenalan Komputasi 10


Select Data (1): Subset, Filter

• DataFrame menggunakan indeks mulai dengan nilai 0


• Contoh-contoh:

#Dapatkan subset mulai dari baris ke-5


#(dari indeks ke-4)
df3[4:]

#dapatkan mulai baris ke-5 (idx=4),


#s.d. baris ke-8 (idx=7)
df3[4:8]

#dapatkan semua baris


#s.d. baris ke-8 (idx=7)
df3[:8]
12/21/2020 Pengenalan Komputasi 11
Select Data (2): Subset, Filter
DataFrame.loc: mengakses baris dan kolom berdasarkan label
atau array of boolean

#data baris ke-4, kolom country


df3.loc[3,"country"] #Indonesia
#data dari baris ke-4 (idx=3) s.d. ke-10 (idx=9);
#kolom country s.d. bronze
df3.loc[3:9,"country":"bronze"]
12/21/2020 Pengenalan Komputasi 12
Select Data (3): Berdasar kondisi
#Ambil semua data dengan jumlah medali perunggu = 0
df3.loc[df3["bronze"] == 0]

#Cetak semua data dengan total medali >= 50


print(df3.loc[df3["total"] >= 50])

#Cetak semua data negara yang hanya mendapat medali perunggu


print(df3.loc[(df3["gold"] == 0) & (df3["silver"] == 0) &
(df3["bronze"] > 0)])

#Ambil semua data negara yang tidak mendapatkan medali emas atau
#perak atau perunggu
df3.loc[(df3["gold"] == 0) | (df3["silver"] == 0) |
(df3["bronze"] == 0)]

12/21/2020 Pengenalan Komputasi 13


Select Data (3a)
Latihan-1
• Tuliskan perintah dan tuliskan hasilnya untuk beberapa perintah
berikut:
1. Tampilkan data 10 negara ranking pertama.
2. Tampilkan daftar negara rangking 11 s.d. 20 (nama negaranya saja yang
ditampilkan)
3. Tampilkan data negara yang mendapatkan 1 medali emas.
4. Tampilkan data negara dengan total perolehan medali > 20, tetapi
dengan jumlah perolehan medali emas < 5

12/21/2020 Pengenalan Komputasi 14


Select Data (3b)
Latihan-1
• Contoh perintah dan hasil:
3. Tampilkan data negara yang mendapatkan 1 medali emas.

12/21/2020 Pengenalan Komputasi 15


Find Extremum
#Temukan indeks dengan nilai maksimum
#pada kolom bronze
imax = df3["bronze"].idxmax()
df3[imax:imax+1]

#Temukan indeks dengan nilai minimum


#pada kolom bronze
#Jika nilai minimum ada lebih dari
#satu, maka baris yang ditemukan
#pertama kali
imin = df3["bronze"].idxmin()
df3[imin:imin+1]

12/21/2020 Pengenalan Komputasi 16


Determine Range
#dapatkan nilai minimum dan maximum
#untuk seluruh data
minimum,maximum=(df3.min(),df3.max())
print(minimum); print (maximum)

#nilai minimum untuk kolom country


minimum["country"]

#nilai maksimum untuk kolom gold


maximum["gold"]

12/21/2020 Pengenalan Komputasi 17


Latihan-2
• Tampilkan negara(-negara) • Tampilkan negara(-negara)
dengan perolehan perunggu dengan perolehan perunggu
terbanyak paling sedikit, tapi total
perolehan medali > 0

12/21/2020 Pengenalan Komputasi 18


Sort
#Sort terurut menurun (ascending=0) berdasarkan kolom country
print(df3.sort_values(["country"], ascending=[0]))

#Sort terurut menaik (ascending=1) berdasarkan kolom total


print(df3.sort_values(["total"], ascending=[1]))

#Sort terurut menaik berdasarkan kolom total dan menurun


#berdasarkan kolom country
print(df3.sort_values(["total","country"], ascending=[1,0]))

Latihan-3
Sort data perolehan medali terurut menurun berdasarkan kolom gold
dan terurut menaik berdasarkan kolom silver
12/21/2020 Pengenalan Komputasi 19
Counting Frequency
Menghitung banyaknya kemunculan
suatu data item pada suatu kolom 
distribusi kemunculan nilai

#Counting frequency kolom bronze


df3["bronze"].value_counts()

Latihan-4
Buatlah distribusi frekuensi untuk total
perolehan medali.
12/21/2020 Pengenalan Komputasi 20
Group By (1)

• Group by adalah perintah untuk membagi data dalam kelompok-kelompok berbeda


berdasarkan suatu variabel tertentu
• Contoh-1: mengelompokkan data berdasarkan atribut
df5 = pd.read_csv("D:/data.csv")
df5.groupby("gender")
• Fungsi sum(), max(), min(), mean(), first(), last(), size() dapat diberlakukan pada
objek yang di-groupby untuk mendapatkan statistik
• Contoh-2: mendapatkan total jumlah anak (num_children) per kelompok gender
df5.groupby("gender")["num_children"].sum()
• Contoh-3: mendapatkan rata-rata jumlah peliharaan (num_pets) per kelompok
gender per state
df5.groupby(["gender","state"])["num_pets"].mean()

12/21/2020 Pengenalan Komputasi 21


Group By (2)
df5.groupby("gender")["num_children"].sum()

df5.groupby(["gender","state"])["num_pets"].mean()

12/21/2020 Pengenalan Komputasi 22


Group By (3)
• Membuat tabel pivot
• Contoh: membuat tabel pivot berdasarkan atribut gender (sebagai
baris) dan state (sebagai kolom), sel berisi banyaknya data gender per
state
df5.groupby(["gender","state"])["name"].size().unstack()

12/21/2020 Pengenalan Komputasi 23


Statistics Summary, Characterize Distribution
Menampilkan beberapa statistik penting pada data

df3.describe()

12/21/2020 Pengenalan Komputasi 24


Rata-Rata dan Deviasi Standar
Menghitung rata-rata (mean) dan deviasi standar (std) pada
data

#rata-Rata data df3


df3.mean()
#deviasi standar data df3
df3.std()
#rata-rata total perolehan medali
df3.mean()["total"]
#deviasi standar perolehan medali emas
df3.std()["gold"]

12/21/2020 Pengenalan Komputasi 25


Correlation (1)

Correlation adalah indikasi


hubungan antara dua atau
lebih variable, yang dinyatakan
dalam correlation coefficient

Sumber:
https://www.mathsisfun.com/data/correlation.html

12/21/2020 Pengenalan Komputasi 26


Correlation (2)
#korelasi antara perolehan medali emas dengan total perolehan
#medali
df3["gold"].corr(df3["total"])

• Dengan nilai mendekati 1, korelasi antara “gold” dan “total” adalah


cenderung positif (high positive correlation)
• Artinya: semakin banyak perolehan medali emas, total perolehan medali juga
cenderung semakin banyak
12/21/2020 Pengenalan Komputasi 27
Correlation (2)
Latihan-5
• Hitung dan analisis-lah korelasi antara data-data berikut:
• Gold vs Silver
• Silver vs Bronze
• Gold vs Bronze   gold silver bronze total
• Silver vs Total gold 1     
• Bronze vs Total silver 0.96218… 1   
bronze 0.81740… 0.89955… 1 
total 0.96564… 0.98981… 0.93523… 1

12/21/2020 Pengenalan Komputasi 28


12/21/2020 Pengenalan Komputasi 29

Anda mungkin juga menyukai