Membuat Dataset Fantasy Premier League menggunakan Python

Erwindra Rusli
3 min readSep 3, 2020

Menjelang bergulirnya kembali Premier League 20/21 minggu depan, para manager FPL mulai mempersiapkan diri membangun squad terbaik mereka agar langsung merengkuh poin banyak dari gameweek pertama.

Untuk mendukung persiapan para manager, saya hadirkan cara mengambil data dari API FPL menggunakan Python lalu mengkonversinya ke dalam dataframe Pandas. Mudah-mudahan dengan begitu, bisa mempermudah pengolahan dan analisa data FPL musim lalu. Berikut langkah-langkah Python yang saya gunakan di IDE Jupyter Notebook

Import packages yang diperlukan

import requests
import json
import pandas as pd
from datetime import datetime

Ambil data dari FPL API

data = requests.get(‘https://fantasy.premierleague.com/api/bootstrap-static/')
data = json.loads(data.content)

Pastikan “/” pada url lengkap saat request. Respon data yang didapat dari API FPL masih berupa JSON file, setelah dikonversi akan menjadi bentuk python dictionary yang memiliki beberapa atribut berikut.

Kita akan menggunakan data dari 4 atribut yang memiliki data paling bernilai untuk analisa data FPL kita, yaitu elements, element_types, events, dan teams.

  • Elements: Berisi rangkuman data pemain seperti total poin yang dikumpulkan dan harga pemain.
  • Elements type: Berisi tentang informasi posisi pemain.
  • Events: Berisi data Gameweek seperti id, deadline time, dan highest scoring player.
  • Teams: Berisi info dari setiap klub seperti nama, id, attack, defense, dan overall when home and away.

Membuat Dataframe Pandas
3 atribut yang akan kita gunakan dikonversi ke dalam bentuk dataframe Pandas.

#Dataframe Pemain dari atribut elements
df_players = pd.DataFrame(data[‘elements’])

#Dataframe Posisi Pemain dari atribut elements_types
df_element_types = pd.DataFrame(data[‘element_types’])

#Dataframe Gameweek dari atribut events
df_teams = pd.DataFrame(data[‘teams’])

#Dataframe Klub dari atribut teams
df_teams = pd.DataFrame(data[‘teams’])

Sekarang kita sudah punya data FPL yang dibutuhkan untuk dianalisa. Kita bisa lanjut proses analisa data menggunakan Python atau juga menggunakan aplikasi lain. Sebagai contoh, saya membuat visualisasi data FPL menggunakan Tableau seperti di tulisan saya sebelumnya:

Visualisasi Data: Fantasy Premier League 19/20

Bila ingin mengolahnya di Tableau atau aplikasi lain, berikut cara export dataframe Pandas yang kita miliki ke file CSV.

df_players.to_csv(‘data_pemain.csv’, index=False)
df_element_types.to_csv(‘
data_posisi_pemain.csv’, index=False)
df_gameweek.to_csv(‘
data_gameweek.csv’, index=False)
df_teams.to_csv(‘
data_klub.csv’, index=False)

Sekian tutorial cara membuat dataset FPL menggunakan Python. Bila ada komentar atau feedback berupa ide untuk mengolah dataset FPL ini, jangan sungkan untuk berkorespondensi ya.

Semoga sukses FPL musim depannya!

Erwindra Rusli
Football Fans and Data Enthusiast

--

--