NFL Individual Player Season Total Downloadable Stats
The data here has the following format. Each player who accumulated any stats shows up in the appropriate .csv file. Then, the file contains a column listing their age, yards, and games played over the course of their career with a semicolon separating each season. For instance, in the Rushing data set, for Christian McCaffrey you’ll see:
- 21 ; 22 ; 23 in Ages indicating he has played in his age 21, 22, and 23 seasns
- 435 ; 1098 ; 1387 ; in ‘Yards’ indicating that he accumulated 435 RUSHING yards in his age 21 season, 1098 in his age 22 season, etc.
- 2017 ; 2018 ; 2019 in ‘Years’ indicating that McCaffrey was 21 in his 2017 season, 22 in the 2018 season, etc.
NOTE: Many NFL players have the same name so we had to differentiate between them. For instance, the players are named arbitrarily ‘Adrian Peterson_1’ and ‘Adrian Peterson_2’. A quirk of our data, though, is that if two players have the same name AND birth year AND each recorded a rush, we cannot differentiate between them and their stats are merged. We are unsure if that every happens, but be aware it is a possibility.
The data was scraped from https://www.pro-football-reference.com/years/2019/passing.htm and similar pages within the sports reference umbrella using the Python Beautiful Soup package. The Games, Years, Ages, and Yards Categories can be turned into lists of numbers easily in R, e.g. output <- as.integer(unlist(strsplit(careers[i,’Ages’],’;’)))
Anyway, here is the link to download the NFL career rushing summary data set in a .csv format.