Exercise Part 1 - Q1
Almira adalah penggemar Taylor Swift. Dia ingin melakukan analisis terhadap lagu-lagu Taylor Swift yang diputar di Spotify. Untungnya, Almira dapat menggunakan data yang tersedia gratis di Kaggle (link). Tabel berikut memperlihatkan deskripsi dari data tsb.
| Nama kolom | Deskripsi |
|---|---|
| name | Nama lagu |
| album | Nama album |
| artist | Nama artist yang terlibat |
| release_date | Tanggal rilis album |
| length | Panjang lagu dalam millisecond |
| popularity | Persentasi popularitas lagu berdasarkan algoritma Spotify |
| danceability | Seberapa gampang lagunya dipakai untuk joget berdasarkan kombinasi elemen-elemen seperti tempo, ritme dan beat |
| acousticness | Tingkat komponen keakustikan dalam lagu |
| energy | Ukuran intensitas dan aktivitas pada lagu |
| instrumentalness | Tingkat komponen instrumen dalam lagu |
| liveness | Probabilitas lagu melibatkan penonton langsung |
| loudness | Tendensi musik direkam pada volume yang tinggi |
| speechiness | Tingkat komponen lirik dalam lagu vs musik |
| valence | Ukuran sentimen pada lagu (sedih-senang) |
| tempo | Beat per menit |
Berikut adalah cuplikan dari data yang akan digunakan:
Unnamed: 0 name ... valence tempo
0 0 Tim McGraw ... 0.425 76.009
1 1 Picture To Burn ... 0.821 105.586
2 2 Teardrops On My Guitar - Radio Single Remix ... 0.289 99.953
3 3 A Place in this World ... 0.428 115.028
4 4 Cold As You ... 0.261 175.558
[5 rows x 16 columns]
Almira ingin mengetahui statistik mean, min, median dan max dari tiap indicator berikut: popularity, danceability, acousticness, energy, instrumentalness, speechiness, valence dan tempo; dan di group berdasarkan album. Buatlah sebuah fungsi dengan nama get_stat_by_album yang menerima satu parameter berupa DataFrame dari data sumber, dan mengembalikan DataFrame baru dengan column album, indicator, mean, min, median dan max.
Kamu bisa menggunakan template kode di bawah ini untuk mengerjakan soal. Data csv telah tersedia pada online editor.
import pandas as pd
def get_stat_by_album(data):
# Tulis kodemu di sini
return
if __name__ == '__main__':
data = pd.read_csv('spotify_taylorswift.csv', delimiter = ',')
print(get_stat_by_album(data))