A collection of wrappers over football (soccer) data from various websites / APIs. You get: Pandas dataframes with sensible, matching column names and identifiers across datasets. Data is downloaded when needed and cached locally. Example Jupyter Notebooks are in the Github repo.
Project description
A collection of wrappers over football [*] data from various websites / APIs. You get: Pandas dataframes with sensible, matching column names and identifiers across datasets. Data is downloaded when needed and cached locally. Example Jupyter Notebooks are in the Github repo.
Data sources:
fivethirtyeight.com
(https://projects.fivethirtyeight.com/soccer-predictions)
Season 2016-17 predictions and results for the top European and American leagues.
football-data.co.uk
(http://www.football-data.co.uk/)
Historical results, betting odds and match statistics for English, Scottish, German, Italian, Spanish, French, Dutch, Belgian, Portuguese, Turkish and Greek leagues, including a number of lower divisions. Level of detail depends on league.
clubelo.com
First team relative strengths, for all (?) European leagues. Recalculated after every round, includes history.
Roadmap:
Add player stats, transfers, injuries and suspensions.
Installation
$ pip install footballdata
Dependencies
Usage
import footballdata as foo
# Create class instances
five38 = foo.FiveThirtyEight()
elo = foo.ClubElo()
mhist = foo.MatchHistory('ENG-Premier League', '2016-17')
# Create dataframes
matches = five38.read_games()
forecasts = five38.forecasts()
current_elo = elo.read_by_date()
team_elo_history = elo.read_team_history('Barcelona')
epl_2016 = mhist.read_games()
See the Jupyter Notebooks here for more elaborate examples: https://github.com/skagr/footballdata/tree/master/notebooks
Compatibility
Tested against Python 2.7 and 3.3-3.6
Licence
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.