0% found this document useful (0 votes)
57 views44 pages

Pandas IntroAnalisisData

Pandas Python

Uploaded by

Yusran Yunus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views44 pages

Pandas IntroAnalisisData

Pandas Python

Uploaded by

Yusran Yunus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Pengantar Analisis Data

(dengan tool: Pandas)

Tim Penyusun Materi Pengenalan Teknologi Informasi


Institut Teknologi Bandung © 2018
Objektif
• Mahasiswa memahami latar belakang dan pentingnya data analisis
• Mahasiswa dapat membedakan terminologi Data, Informasi,
Knowledge, Wisdom (DIKW)
• Mahasiswa mengerti lingkup dan workflow Data Analisis
• Mahasiswa dapat mempraktikkan teknik dalam Descriptive
Analytics dan EDA untuk melakukan analisis data sederhana
dengan menggunakan Python Pandas

19/10/2019 Pengenalan Teknologi Informasi 2


Motivasi
• Bigdata dan IoT
• Information Overload
• People are getting stupider?

19/10/2019 Pengenalan Teknologi Informasi 3


Big Data
• “if all the data used in the world today where written to CD ROMs
and the CD ROMs piled up in a single stack, the stack will stretch
all the way from the Earth to the Moon and a quarter of the way
back again”[1]
• “by the year 2020 there will be 35 ZB of digital data created per
annum” [2]

1. Hilbert, M & Lopez, P. (2011), “ (c) The Bi Data Revoluition, CNR SMagazine, 2013
The world’s technological capacity to store, communicate and compute information”, Science 332, 1 April 2011,
60-65 4
2. IDC (2010), “IDC Digital Uiverse Study, spomnsored by EMC”, May 2010
Big Data, IoT
1018 bytes/day
(2024, est.)

24 PB/day
22 PB (2012,
(2009)
the Large Hadron
2.5 PB of user data + Collider)
15 TB/day (2009)
Scientific Data,
6.5 PB of user data + Scientific Instruments
50 TB/day (2009)
Web, Social Media & Network

Mobile Devices, IoT, Sensor Technology & Networks

19/10/2019 Pengenalan Teknologi Informasi 5


Information Overload

19/10/2019 Pengenalan Teknologi Informasi 6


People are getting stupider?

Adopted from: John Stasko http://www.cc.gatech.edu/~stasko/7450/Notes/overview.pdf

19/10/2019 Pengenalan Teknologi Informasi 7


Sumber: http://www.systems-thinking.org/dikw/dikw.htm
19/10/2019 Pengenalan Teknologi Informasi 8
DIKW

Sumber: https://www.quora.com/Can-someone-give-a-simple-example-for-data-
information-knowledge-and-wisdom
19/10/2019 Pengenalan Teknologi Informasi 9
Sumber: https://www.quora.com/Can-someone-give-a-simple-example-for-data-
information-knowledge-and-wisdom

19/10/2019 Pengenalan Teknologi Informasi 10


Sumber: https://www.researchgate.net/publication/221437134_Are_you_searching_for_ways_to_find_information/figures?lo=1

19/10/2019 Pengenalan Teknologi Informasi 11


DIKW

19/10/2019 Pengenalan Teknologi Informasi 12


Data Analysis
• how to break down and
structure complex problems and
data sets to get right to the
heart of the problems in their
business. [1]
• a process of inspecting, cleansing,
transforming, and modeling data
with the goal of discovering
useful information, informing
conclusions, and supporting
decision-making [2]

1. Michael Milton, Head First Data Analysis, O’Reilly 2009


19/10/2019 Pengenalan Teknologi Informasi 13
2. https://en.wikipedia.org/wiki/Data_analysis
Data Analysis Workflow

Sumber:
https://ketakirk.wordpress.com/2016/04/03/an-end-to-end-data-analysis-workflow/

19/10/2019 Pengenalan Teknologi Informasi 14


Klasifikasi Data Analytics

Sumber:
2017 Planning Guide for Data and Analytics
19/10/2019 Pengenalan Teknologi Informasi 15
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

19/10/2019 Pengenalan Teknologi Informasi 16


Diagnostic Analytics
• Tidak dibahas dalam kuliah ini

19/10/2019 Pengenalan Teknologi Informasi 17


Predictive Analytics
• Analisis terhadap data history untuk mendapatkan hubungan dan
trend yang ada (yang direpresentasikan dalam bentuk model
prediksi) dalam rangka untuk memperkirakan apa yang akan
terjadi di masa yang akan datang.
• Contoh:
• Memperkirakan nilai saham atau mata uang tertentu berdasarkan data
nilai saham atau mata uang pada periode waktu sebelumnya
• Memperkirakan apakah seseorang dengan karakteristik tertentu (usia,
penghasilan, jumlah tanggungan, frekwensi sakit berat) layak/tidak
diberikan kredit bank, berdasarkan data history pengambilan keputusan
oleh ahli keuangan.
• dll

19/10/2019 Pengenalan Teknologi Informasi 18


Prescriptive Analytics
• Analisis terhadap data history untuk dapat menghasilkan
kesimpulan berupa rekomendasi bagaimana sesuatu harus
dilakukan
• Contoh:
• Menentukan rute terbaik dari satu tempat ke tempat lain, berdasarkan
data yang ada
• Analisis oleh travel agent terhadap berbagai faktor terkait travel
(customer, tujuan, waktu, dll) untuk optimasi harga tiket
• Tidak dibahas detail di kuliah ini

19/10/2019 Pengenalan Teknologi Informasi 19


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

19/10/2019 Pengenalan Teknologi Informasi 20


Kualitas Data
• Hasil analisis sangat
dipengaruhi oleh kualitas
data
• Ada banyak dimensi kualitas
data

Sumber:
https://www.whitepapers.em360tech.com/wp-content/files_mf/1407250286DAMAUKDQDimensionsWhitePaperR37.pdf
https://www.cdc.gov/ncbddd/hearingloss/documents/dataqualityworksheet.pdf
https://www.rfigroup.com/rfi-group/news/rfi-group-opinion-australia-why-business-leaders-need-own-data-quality
19/10/2019 Pengenalan Teknologi Informasi 21
Representasi Data berdasar Strukturnya
• Structured Data
• Data dalam bentuk table/relational
• Contoh: data dalam xls, data tersimpan dalam relational DBMS
• Semi-structured Data
• Data yang tidak direpresentasikan dalam bentuk table, namun masih
memiliki struktur/pengorganisasian yang memudahkan proses/analisis
• Contoh: data dalam format xls, json, noSQL database
• Unstructured Data
• Data yang tidak memiliki struktur yang memudahkan proses/analisis
• Contoh: data teks, data video, data foto

19/10/2019 Pengenalan Teknologi Informasi 22


Data Store
• Adalah sebuah repository untuk secara persisten (bersifat tetap)
menyimpan dan mengelola kumpulan data
• Bentuk-bentuk data store:
• File, semacam csv file, spreadsheet
• Email
• Database
• Distributed Data Store
• Directory Services
• dll

19/10/2019 Pengenalan Teknologi Informasi 23


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
• Correlation https://en.wikipedia.org/wiki/Data_analysis
• Clustering

19/10/2019 Pengenalan Teknologi Informasi 24


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/

19/10/2019 Pengenalan Teknologi Informasi 25


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)

19/10/2019 Pengenalan Teknologi Informasi 26


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/
19/10/2019 Pengenalan Teknologi Informasi 27
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()

19/10/2019 Pengenalan Teknologi Informasi 28


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]

19/10/2019 Pengenalan Teknologi Informasi 29


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"]

19/10/2019 Pengenalan Teknologi Informasi 30


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)]

19/10/2019 Pengenalan Teknologi Informasi 31


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

19/10/2019 Pengenalan Teknologi Informasi 32


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

19/10/2019 Pengenalan Teknologi Informasi 33


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]

19/10/2019 Pengenalan Teknologi Informasi 34


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"]

19/10/2019 Pengenalan Teknologi Informasi 35


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

19/10/2019 Pengenalan Teknologi Informasi 36


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
19/10/2019 Pengenalan Teknologi Informasi 37
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.
19/10/2019 Pengenalan Teknologi Informasi 38
Statistics Summary, Characterize Distribution
Menampilkan beberapa statistik penting pada data

df3.describe()

19/10/2019 Pengenalan Teknologi Informasi 39


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"]
19/10/2019 Pengenalan Teknologi Informasi 40
Correlation (1)

Correlation adalah indikasi


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

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

19/10/2019 Pengenalan Teknologi Informasi 41


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
19/10/2019 Pengenalan Teknologi Informasi 42
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

19/10/2019 Pengenalan Teknologi Informasi 43


19/10/2019 Pengenalan Teknologi Informasi 44

You might also like