Tugas Data Analisis
Tugas Data Analisis
Dosen Pengampu:
Latihan 2-1
Deskripsi:
Program menampilkan negara dengan perunggu(“bronze”) terbanyak
Program
#Latihan 2-1
imin = df3["bronze"].idxmax()
df3[imin : imin+1]
Output
Latihan 2-2
Soal: Tampilkan negara(-negara) dengan perolehan perunggu sedikit, tapi total perolehan medali > 0!
Deskripsi
Program menampilkan negara dengan perolehan perunggu (“bronze”) terkecil tetapi perolehan
medali (“total”) >0
Program
min = df3["bronze"].min() #mencari nilai bronze minimum
Latihan 3
Soal: Sort data perolehan medali terurut menurun berdasarkan kolom gold dan terurut menaik
berdasarkan kolom silver
Deskripsi
Program menampilkan data dengan urutan berdasarkan kolom gold dan silver. Urutan menurun
untuk kolom gold, serta urutan menaik untuk kolom silver.
Program
df3.sort_values(["gold","silver"], ascending=[0,1])
Output
Latihan 4
Deskripsi
Program menampilkan distribusi frekuensi total medali.
Program
df3["total"].value_counts()
Output
Latihan 5
a. Gold vs Silver
Program
df3["gold"].corr(df3["silver"])
Output
Analisis:
Perolehan medali emas dan perolehan medali perak berhubungan kuat karena corr tidak
mendekati 0, yaitu berbanding lurus karena corr mendekati 1.
b. Silver vs Bronze
Program
df3["silver"].corr(df3["bronze"])
Output
Analisis
Perolehan medali perak dan perolehan medali perunggu berhubungan kuat karena corr tidak
mendekati 0, yaitu berbanding lurus karena corr mendekati 1.
c. Gold vs Bronze
Program
df3["gold"].corr(df3["bronze"])
Output
Analisis
Perolehan medali emas dan perolehan medali perunggu berhubungan kuat karena corr tidak
mendekati 0, yaitu berbanding lurus karena corr mendekati 1.
d. Silver vs Total
Program
df3["silver"].corr(df3["total"])
Output
Analisis
Perolehan medali perak dan perolehan total medali berhubungan kuat karena corr tidak
mendekati 0, yaitu berbanding lurus karena corr mendekati 1.
e. Bronze vs Total
Program
df3["bronze"].corr(df3["total"])
Output
Analisis
Perolehan medali perunggu dan perolehan total berhubungan kuat karena corr tidak
mendekati 0, yaitu berbanding lurus karena corr mendekati 1.
Kesimpulan:
Karena setiap corr memiliki nilai dekat 1, setiap perolehan medali saling berbanding lurus satu sama
lain. Jika suatu negara memperoleh banyak medali emas, maka negara tersebut cenderung juga akan
memperoleh banyak medali perak serta perunggu, sehingga total perolehan medalinya juga banyak.
Begitu pula sebaliknya, jika suatu negara memperoleh sedikit medali emas, maka negara tersebut
cenderung juga akan memperoleh sedikit medali perak serta perunggu, sehingga total perolehan
medalinya sedikit.
Latihan soal (Tool : Python)
A. Import Data
Program
Saya sudah mencoba berkali-kali, tetapi saya tetap tidak bisa mengimpor file .csv ke dalam
notebook saya. Oleh karena itu, saya mengganti file.csv menjadi .xlsx. Saya berhasil mengimpor
tabel dengan baik dengan file .xlsx. Berikut programnya:
import pandas as pd
dffin
Output
B. Data Understanding
dffin.dtypes
Output:
Teks (Categorical-nominal)
Segment
Teks (Categorical-nominal)
Country
Teks (Categorical-nominal)
Product
Teks (Categorical-Ordinal)
DiscountBand
Kuantitatif (Quantitative – Discrete)
UnitsSold
Numerik (Quantitative – Continues)
Manufacturing
Price
Numerik (Quantitative – Continues)
SalePrice
Numerik (Quantitative – Continues)
GrossSales
Numerik (Quantitative – Continues)
Discounts
Numerik (Quantitative – Continues)
Sales
Numerik (Quantitative – Continues)
COGS
Numerik (Quantitative – Continues)
Profit
Kuantitatif (Quantitative – Discrete)
Date
Kuantitatif (Quantitative – Discrete)
MonthNumber
Teks (Categorical-nominal)
MonthName
Kuantitatif (Quantitative – Discrete)
Year
maximum = dffin.max()
print(maximum)
Nilai minimum:
minimum = dffin.min()
print(minimum)
b) Output
Nilai maksimum:
Nilai minimum:
0−260
Manufacturing Price
0−350
SalePrice
-355500 −103808250
GrossSales
-49770 − 14967750
Discounts
-305730 − 103808250
Sales
0 − 2246250
COGS
0 − 18640750
Profit
dffin.isnull().sum()
Apa yang perlu dilakukan terhadap data kotor ? Diberikan nilai ? Dibiarkan?
Menurut saya, karena data ini adalah data finansial yang melibatkan kalkulasi cukup rumit
untuk mendapatkan data, daripada dibuat-buat, alangkah lebih baik bila data ini
“dibersihkan”. Berikut tahapan membersihkan data yang saya usahakan:
1. Mengecek Range (sudah dilakukan di no. 4)
Kesimpulan yang didapat:
Nilai minimum GrossSales, Discounts, dan Sales bernilai negatif. Padahal, hal ini
tidak mungkin mengingat GrossSales adalah total penjualan, Discounts adalah
potongan harga, dan Sales adalah penjualan.
dffin.drop(indexNames , inplace=True)
dffin
Output:
dapat dilihat pada output diatas, jumlah rows yang tadinya 710 berkurang menjadi
709, berarti ada pengurangan rows (baris) yang mengandung data bernilai negative.
Maksimum
Analisis:
Untuk atribut numerik, dari UnitsSold hingga profit, nilai minimum sebesar 0. Nilai
0 mungkin saja untuk UnitsSold dan Profit. Akan tetapi, untuk atribut yang
berhubungan dengan harga dan penjualan (ManufacturingPrice-COGS) nilai 0 tidak
mungkin. Ketika saya melihat sekilas data di excel, kolom GrossSales-COGS
memiliki data yang berkisar pada nilai ribuan dan ratusan, sehingga tidak mungkin
jika terdapat data 0.
Kesimpulan:
Saya akan menghapus baris yang mengndung nilai 0 untuk kolom
ManufacturingPrice-COGS.
4. Menghapus baris yang mengandung data tidak sesuai / beda sendiri
Saya akan menghapus baris yang mengndung nilai 0 untuk kolom
ManufacturingPrice-COGS.
Program:
dffin.drop(indexNames1 , inplace=True)
dffin
Output:
dapat dilihat pada output diatas, jumlah rows yang tadinya 709 berkurang menjadi
708, berarti ada pengurangan rows (baris) yang mengandung nilai tidak sesuai.
dffin1
Output, merupakan data final yang akan diolah:
dapat dilihat pada output diatas, jumlah rows yang tadinya 708 berkurang menjadi
643, berarti ada pengurangan rows (baris) yang mengandung nilai tidak sesuai.
C. Statistics
Amati dan jelaskan statistik untuk data tiap atribut numerik: Nilai ekstrim: minimum, maksimum ;
Nilai rata-rata (mean) dan deviasi standar ; Percentile 25%, 50%, 75% .
Untuk menganalisis ini, saya menggunakan DataFrame yang sudah dibersihkan (dffin1)
Program:
dffin1.describe()
Output:
Analisis:
Untuk nilai maksimum serta minimum, dapat kita lihat, data pada dffin1 yaitu data frame yang
sudah dibersihkan ini berbeda dari data sebelum dibersihkan. Untuk nilai minimum, tidak ada yang
ganji. Akan tetapi, terdapat keganjilan pada nilai maksimum. Ada atribut yang memiliki nilai
maksimum tidak wajar, yaitu UnitsSold. Nilai 90000000-an diantara nilai puluhan dan ratusan tentu
tidak wajar. Nilai ini tentu mempengaruhi Rata-rata serta Standar Deviasi dari kolom UnitsSold.
D. Data Exploration
Output:
Output:
3. Tampilkan 10 data dengan nilai kolom Sales tertinggi!
Program:
Output:
dffin1.groupby("Country")["Profit"].sum()
Output:
5. Tampilkan frekuensi data per Segment pada tahun 2013
Program:
Output:
#Asumsi: Year dan MonthNumber diurutkan dari paling kecil ke paling besar
Output:
7. Tampilkan data terurut berdasarkan Product
Program:
dffin1.sort_values(["Product"], ascending=[1])
Output: