Jfjelstul Worldcup Data-csv Appearances Site

For the analyst, this file is a playground of temporal logic. For the fan, it is a reminder that every minute on that pitch is a dataset of one. Load the CSV. Run the join. Ask who really worked the hardest. The answer is waiting in the rows of appearances.csv .

At first glance, it is merely a log of who played when. But look closer. This table is the structural engineering of football history. It tells you not just who won, but who endured. It captures the 89th-minute substitutions, the yellow card accumulation, the captains who played every second of extra time, and the reserves who never saw the pitch. jfjelstul worldcup data-csv appearances

import pandas as pd appearances = pd.read_csv('https://raw.githubusercontent.com/jfjelstul/worldcup/master/data-csv/appearances.csv') goals = pd.read_csv('https://raw.githubusercontent.com/jfjelstul/worldcup/master/data-csv/goals.csv') Filter for substitutes (game_started = FALSE) subs = appearances[appearances['game_started'] == False] Merge with goals to count goals by sub appearances sub_goals = goals.merge(subs, on=['match_id', 'player_id']) sub_goals_count = sub_goals.groupby('player_name_x').size().reset_index(name='goals') sub_goals_count.sort_values('goals', ascending=False).head(10) For the analyst, this file is a playground of temporal logic

# Pseudocode for Python (Pandas) avg_sub_time = df[df['substitute_out'].notnull()].groupby('year')['substitute_out'].mean() In the 1980s, the average sub happened in the 75th minute. By 2022, it’s the 58th minute. This table empirically proves the tactical revolution: managers now treat the bench as a weapon, not a lifeboat. 4. The Anomaly Detection: Own Goals and Disciplinary Records Because appearances.csv includes own_goals and red_cards at the player-match level, you can ask bizarre, wonderful questions. Run the join

Using the appearances table, you must calculate time_played = (substitute_out - substitute_in) for each row. For players who played the full 90 (or 120), the logic is different.

This is the story of the appearances.csv file—a relational goldmine that turns abstract match results into tangible human performance. Before we dive into queries, we must understand the granularity. In the jfjelstul/worldcup model, appearances.csv is a fact table linking players to matches. It contains approximately 4,000+ rows (depending on the latest update), covering every World Cup from 1930 to 2022.