Jfjelstul Worldcup Data-csv Appearances.csv |link|

If you use this data in research or a publication:

| Column | Description | |--------|-------------| | team_id | Team ID (links to teams.csv ) | | team_name | Team name (e.g., "Brazil") | | team_code | FIFA 3-letter code (e.g., "BRA") | | home_team | TRUE if player’s team was home (neutral grounds mostly FALSE ) | | away_team | TRUE if away | | player_id | Unique player ID (links to players.csv ) | | family_name | Player’s last name | | given_name | Player’s first name | | shirt_number | Shirt number (may be missing for older matches) | | position_name | Position (e.g., "Goalkeeper", "Defender", "Midfielder", "Forward") | | position_code | Short code (GK, DF, MF, FW) | | captain | TRUE if player was captain that match | jfjelstul worldcup data-csv appearances.csv

matches = pd.read_csv("https://raw.githubusercontent.com/jfjelstul/worldcup/master/data-csv/matches.csv") red_cards = appearances[appearances["red_cards"] > 0] merged = red_cards.merge(matches[["match_id", "stage_name"]], on="match_id") print(merged["stage_name"].value_counts()) If you use this data in research or

: Ideal for web-based visualizations or NoSQL applications. 0] merged = red_cards.merge(matches[["match_id"

For sequence of events (e.g., goal minute 12, yellow card minute 40), use goals.csv and cards.csv .