This repository will be archived at the end of the 2024-25 season. NO updates will be posted to this repository after the 2024-25 season.
A FPL library that gets all the basic stats for each player, gw-specific data for each player and season history of each player
BibTeX:
@misc{anand2016fantasypremierleague,
title = {{FPL Historical Dataset}},
author = {Anand, Vaastav},
year = {2022},
howpublished = {Retrieved August 2022 from \url{https://github.com/vaastav/Fantasy-Premier-League/}}
}
- rin-hairie for adding master team lists and merge scripts
- ergest for adding merged_gw.csv files for 2016-17 and 2017-18 seasons
- BDooley11 for providing top managers script
- speeder1987 for providing 2018/19 fixtures.csv file
- ravgeetdhillon for github actions automation for data update
- kz4killua for fixing GW37 data for the 21-22 season
- SaintJuniper for id-dictionary update for the 21-22 season
The data folder contains the data from past seasons as well as the current season. It is structured as follows:
- season/cleaned_players.csv : The overview stats for the season
- season/gws/gw_number.csv : GW-specific stats for the particular season
- season/gws/merged_gws.csv : GW-by-GW stats for each player in a single file
- season/players/player_name/gws.csv : GW-by-GW stats for that specific player
- season/players/player_name/history.csv : Prior seasons history stats for that specific player.
You can access data files within this repository programmatically using Python and the pandas
library. Below is an example using the data/2023-24/gws/merged_gw.csv
file. Similar methods can be applied to other data files in the repository. Note this is using the raw URL for direct file access, bypassing the GitHub UI.
import pandas as pd
# URL of the CSV file (example)
url = "https://raw.githubusercontent.com/vaastav/Fantasy-Premier-League/master/data/2023-24/gws/merged_gw.csv"
# Read the CSV file into a pandas DataFrame
df = pd.read_csv(url)
In players_raw.csv, element_type is the field that corresponds to the position. 1 = GK 2 = DEF 3 = MID 4 = FWD
- GW35 expected points data is wrong (all values are 0).
- If you feel like there is some data that is missing which you would like to see, then please feel free to create a PR or create an issue highlighting what is missing and what you would like to be added
- If you have access to old data (pre-2016) then please feel free to create Pull Requests adding the data to the repo or create an issue with links to old data and I will add them myself.
If you use data from here for your website or blog posts, then I would humbly request that you please add a link back to this repo as the data source (and I would in turn add a link to your post/site as a notable usage of this repo).
You can download the data for your team by executing the following steps:
python teams_scraper.py <team_id>
#Eg: python teams_scraper.py 4582
This will create a new folder called "team_<team_id>_data18-19" with individual files of all the important data
-
Picking the Ultimate Fantasy Premier League Team with ArcticDB by Matthew Simpson
-
Analysing Fantasy Premier League data in R Course by Arif P. Sulistiono
-
FPLDASH: A customizable Fantasy Premier League Dashboard by Jin Hyun Cheong
-
How to win at Fantasy Football with Splunk and Machine Learning by Rupert Truman
-
Visualisasi Data: Fantasy Premier League 19/20 by Erwindra Rusli
-
Expected Goals vs Actual Goals for Manchester United by u/JLane1996
-
Building a dataset for Fantasy Premier League analysis by djfinnoy
-
Linearly Optimising Fantasy Premier League Teams by Joseph O'Connor
-
How to Win at Fantasy Premier league using Deep learning by Paul Solomon
-
Leicester City Brendan Rodgers Impact Analysis on twitter by @neilswmurrayFPL