PFF FC¶
PFF FC released their broadcast tracking data from the FIFA Men's World Cup 2022. The datasets can be requested via this link.
An overview of matches and related match identifiers can be found in the Game Id Overview Section below.
Key Data Points:¶
- Tracking Data: The tracking data is stored separately per game:
{game_id}.jsonl.bz2
- Event Data: The event data for all games is stored in a single file:
events.json
- Metadata: The metadata (home team, away team, date of the game, etc.) information. Each game's metadata is stored seperately as
{game_id}.json
. - Rosters: The rosters contain information on the team sheets. Each game's roster is stored seperately as
{game_id}.json
.
Load local files¶
To load the tracking data as a TrackingDataset use the load_tracking()
function from the pff
module.
Required parameters are:
meta_data
: Path containing metadata about the tracking data.players_meta_data
: Path containing roster metadata, such as player details.raw_data
: Path containing the raw tracking data.
Optional parameters are:
coordinates
: The coordinate system to use for the tracking data (e.g., "pff").sample_rate
: The sampling rate to downsample the data. If None, no downsampling is applied.limit
: The maximum number of records to process. If None, all records are processed.only_alive
: Whether to include only sequences when the ball is in play.
In [ ]:
Copied!
from kloppy import pff
dataset = pff.load_tracking(
meta_data="../../kloppy/tests/files/pff_metadata_10517.json",
roster_meta_data= "../../kloppy/tests/files/pff_rosters_10517.json",
raw_data = "../../kloppy/tests/files/pff_10517.jsonl.bz2",
# Optional Parameters
coordinates = "pff",
sample_rate = None,
limit = None
)
dataset.to_df().head()
from kloppy import pff
dataset = pff.load_tracking(
meta_data="../../kloppy/tests/files/pff_metadata_10517.json",
roster_meta_data= "../../kloppy/tests/files/pff_rosters_10517.json",
raw_data = "../../kloppy/tests/files/pff_10517.jsonl.bz2",
# Optional Parameters
coordinates = "pff",
sample_rate = None,
limit = None
)
dataset.to_df().head()
Out[ ]:
period_id | timestamp | frame_id | ball_state | ball_owning_team_id | ball_x | ball_y | ball_z | ball_speed | 10715_x | ... | 8058_d | 8058_s | 5097_x | 5097_y | 5097_d | 5097_s | 3878_x | 3878_y | 3878_d | 3878_s | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 days 00:00:00.000821 | 4630 | alive | 363 | 0.42 | 1.59 | 0.39 | None | 4.987 | ... | None | None | NaN | NaN | None | None | NaN | NaN | None | None |
1 | 1 | 0 days 00:00:00.034188 | 4631 | alive | 363 | 0.83 | 1.63 | 0.00 | None | 4.955 | ... | None | None | NaN | NaN | None | None | NaN | NaN | None | None |
2 | 1 | 0 days 00:00:00.067555 | 4632 | alive | 363 | 1.23 | 1.66 | 0.00 | None | 4.923 | ... | None | None | NaN | NaN | None | None | NaN | NaN | None | None |
3 | 1 | 0 days 00:00:00.100921 | 4633 | alive | 363 | 1.64 | 1.70 | 0.02 | None | 4.892 | ... | None | None | NaN | NaN | None | None | NaN | NaN | None | None |
4 | 1 | 0 days 00:00:00.134288 | 4634 | alive | 363 | 2.04 | 1.73 | 0.02 | None | 4.861 | ... | None | None | NaN | NaN | None | None | NaN | NaN | None | None |
5 rows × 149 columns
PFF Open World Cup 2022 Data Game Id Overview¶
game_id | home_team | away_team | date |
---|---|---|---|
10517 | Argentina | France | 2022-12-18T15:00:00 |
10516 | Croatia | Morocco | 2022-12-17T15:00:00 |
10515 | France | Morocco | 2022-12-14T19:00:00 |
10514 | Argentina | Croatia | 2022-12-13T19:00:00 |
10513 | England | France | 2022-12-10T19:00:00 |
10512 | Morocco | Portugal | 2022-12-10T15:00:00 |
10511 | Netherlands | Argentina | 2022-12-09T19:00:00 |
10510 | Croatia | Brazil | 2022-12-09T15:00:00 |
10509 | Portugal | Switzerland | 2022-12-06T19:00:00 |
10508 | Morocco | Spain | 2022-12-06T15:00:00 |
10507 | Brazil | South Korea | 2022-12-05T19:00:00 |
10506 | Japan | Croatia | 2022-12-05T15:00:00 |
10505 | England | Senegal | 2022-12-04T19:00:00 |
10504 | France | Poland | 2022-12-04T15:00:00 |
10503 | Argentina | Australia | 2022-12-03T19:00:00 |
10502 | Netherlands | United States | 2022-12-03T15:00:00 |
3859 | Cameroon | Brazil | 2022-12-02T19:00:00 |
3858 | Serbia | Switzerland | 2022-12-02T19:00:00 |
3857 | South Korea | Portugal | 2022-12-02T15:00:00 |
3856 | Ghana | Uruguay | 2022-12-02T15:00:00 |
3855 | Costa Rica | Germany | 2022-12-01T19:00:00 |
3854 | Japan | Spain | 2022-12-01T19:00:00 |
3852 | Croatia | Belgium | 2022-12-01T15:00:00 |
3853 | Canada | Morocco | 2022-12-01T15:00:00 |
3851 | Saudi Arabia | Mexico | 2022-11-30T19:00:00 |
3850 | Poland | Argentina | 2022-11-30T19:00:00 |
3849 | Tunisia | France | 2022-11-30T15:00:00 |
3848 | Australia | Denmark | 2022-11-30T15:00:00 |
3847 | Iran | United States | 2022-11-29T19:00:00 |
3846 | Wales | England | 2022-11-29T19:00:00 |
3845 | Netherlands | Qatar | 2022-11-29T15:00:00 |
3844 | Ecuador | Senegal | 2022-11-29T15:00:00 |
3843 | Portugal | Uruguay | 2022-11-28T19:00:00 |
3842 | Brazil | Switzerland | 2022-11-28T16:00:00 |
3841 | South Korea | Ghana | 2022-11-28T13:00:00 |
3840 | Cameroon | Serbia | 2022-11-28T10:00:00 |
3839 | Spain | Germany | 2022-11-27T19:00:00 |
3838 | Croatia | Canada | 2022-11-27T16:00:00 |
3837 | Belgium | Morocco | 2022-11-27T13:00:00 |
3836 | Japan | Costa Rica | 2022-11-27T10:00:00 |
3835 | Argentina | Mexico | 2022-11-26T19:00:00 |
3834 | France | Denmark | 2022-11-26T16:00:00 |
3833 | Poland | Saudi Arabia | 2022-11-26T13:00:00 |
3832 | Tunisia | Australia | 2022-11-26T10:00:00 |
3831 | England | United States | 2022-11-25T19:00:00 |
3830 | Netherlands | Ecuador | 2022-11-25T16:00:00 |
3829 | Qatar | Senegal | 2022-11-25T13:00:00 |
3828 | Wales | Iran | 2022-11-25T10:00:00 |
3827 | Brazil | Serbia | 2022-11-24T19:00:00 |
3826 | Portugal | Ghana | 2022-11-24T16:00:00 |
3825 | Uruguay | South Korea | 2022-11-24T13:00:00 |
3824 | Switzerland | Cameroon | 2022-11-24T10:00:00 |
3823 | Belgium | Canada | 2022-11-23T19:00:00 |
3822 | Spain | Costa Rica | 2022-11-23T16:00:00 |
3821 | Germany | Japan | 2022-11-23T13:00:00 |
3820 | Morocco | Croatia | 2022-11-23T10:00:00 |
3819 | France | Australia | 2022-11-22T19:00:00 |
3818 | Mexico | Poland | 2022-11-22T16:00:00 |
3817 | Denmark | Tunisia | 2022-11-22T13:00:00 |
3816 | Argentina | Saudi Arabia | 2022-11-22T10:00:00 |
3815 | United States | Wales | 2022-11-21T19:00:00 |
3812 | Senegal | Netherlands | 2022-11-21T16:00:00 |
3813 | England | Iran | 2022-11-21T13:00:00 |
3814 | Qatar | Ecuador | 2022-11-20T16:00:00 |