Analisis Sederhana lewat Pandas

Melalui kelas ini, kamu diajak untuk:

  • Mengetahui metode analisis Pandas
  • Memahami struktur kode untuk analisis.

Statistik dalam Pandas

Popularitas Pandas meroket berkat keahliannya dalam mendeskripsikan data. Lebih jauh, Pandas juga didesain untuk melakukan analisis-analisis data sederhana. Melalui Pandas, kita dapat melakukan analisis statistik deskriptif, seperti jumlah, mean, median, standar deviasi, min/max, dan sebagainya.

Fungsi Agregasi

Mari kita buka data penumpang kapal Titanic di bawah ini.

train_df = pd.read_csv("train.csv")

DataFrame di atas memiliki banyak data numerik yang sejatinya dapat diolah. Kita dapat menggunakan function atau fungsi .agg() untuk mengaplikasikan analisis statistik deskriptif. Lihat value apa saja yang dapat diaplikasikan melalui fungsi agg() di bawah ini.

# jumlah
.agg("count")

# mean atau rata-rata
.agg("mean")

# standar deviasi
.agg("std")

# min 
.agg("min")

# range 25%
.agg("25%")

# range 50% / median
.agg("50%")

# range 75%
.agg("75%")

# max 
.agg("max")

Misal kita ingin mengetahui mean dari seluruh data numerik.

[in]:

print(train_df.agg("mean"))

[out]:

PassengerId    446.000000
Survived         0.383838
Pclass           2.308642
Age             29.699118
SibSp            0.523008
Parch            0.381594
Fare            32.204208
dtype: float64

Atau mean dari satu kolom saja.

[in]:

print(train_df["Age"].agg("mean"))

[out]:

29.69911764705882

Mengenal GroupBy

Sekarang, kita diajak untuk mengenal fungsi groupby. Seperti namanya, groupby adalah fungsi untuk mengelompokkan data lebih dari satu kolom berdasarkan satu kolom tertentu.

Di materi sebelumnya, kita telah mengenal iloc (mengakses kolom dengan kata kunci numerik) dan loc (mengakses kolom dengan kata kunci string). Kita akan menggunakan loc untuk mengetahui ilustrasi sederhana groupby dan agg.

[in]:
# mengakses kolom
kolom_data = train_df[["Sex", "Survived"]]
# keterangan untuk kolom "Survived"
keterangan = kolom_data.loc[train_df["Survived"]==1]
# mengelompokkan berdasarkan satu kolom
kelompok = keterangan.groupby("Sex")
# mengaplikasikan agregasi
selamat = kelompok.agg("count")
print(selamat)

[out]:

       Survived
Sex             
female       233
male         109

Dari susunan kode di atas, kita memerintah Python untuk:

  • Mengakses kolom “Sex” dan “Survived”.
  • Dengan fungsi loc, kita spesifik mengatur kolom “Survived” agar hanya menampilkan data yang bernilai 1 (artinya selamat).
  • Mengelompokkan data berdasarkan kolom “Sex” dengan fungsi groupby.
  • Menjalankan fungsi agregasi “count” yang artinya jumlah.

Mari simak contoh lainnya. Kali ini, kita akan menggunakan nilai agregat yang lain, yaitu mean atau rata-rata.

[in]:

# mengakses kolom
kolom_data = train_df[["Age", "Survived"]]
# mengelompokkan berdasarkan kolom selamat
kelompok = kolom_data.groupby("Survived")
# agregasi mean
selamat = kelompok.agg("mean")
print(selamat)

[out]:

               Age
Survived           
0         30.626179
1         28.343690

Pro Tips

  • Fungsi agg() digunakan untuk mengaplikasikan analisis statistik deskriptif sederhana.
  • Fungsi groupby() digunakan untuk mengelompokkan analisis statistik deskriptif lebih dari satu kolom berdasarkan satu kolom tertentu.

Kuis

Apa sintaksis yang tepat digunakan untuk mengaplikasikan standar deviasi?

Selamat, Anda telah menyelesaikan pelajaran ini
Klik untuk menyelesaikan