Dieses von StatsBomb bereitgestellte Repository ist ein Python-Paket, das es Benutzern ermöglicht, StatsBomb-Daten einfach in Python zu streamen, indem sie ihre Anmeldeinformationen für die API oder kostenlose Daten von unserer GitHub-Seite verwenden. Der API-Zugriff ist nur zahlenden Kunden vorbehalten
Support: [email protected]
pip install statsbombpy
nose2 -v --pretty-assert
Die Authentifizierung kann erfolgen, indem Sie die Umgebungsvariablen SB_USERNAME
und SB_PASSWORD
auf Ihre Anmeldeinformationen setzen.
Wenn Sie alternativ keine Umgebungsvariablen verwenden möchten, akzeptieren alle Funktionen ein Argument creds
um Ihre Anmeldeinformationen im Format {"user": "", "passwd": ""}
zu übergeben.
Sie können angeben, wie viele Kerne Ihres Computers beim Ausführen der sb.competition_events()
und sb.competition_frames()
verwendet werden sollen, indem Sie die Umgebungsvariable SB_CORES
auf die Anzahl setzen, die Sie verwenden möchten. Wenn Sie Statsbombpy erlauben, mehr Kerne zu verwenden, werden diese Funktionen beschleunigt.
Wenn Sie keine Umgebungsvariable festgelegt haben, versuchen wir, die Anzahl der Kerne in Ihrem System zu ermitteln und 2 weniger als diese Anzahl zu verwenden. Wenn wir die Anzahl der Kerne nicht ermitteln können, setzen wir die Anzahl auf 4.
Auf die offenen Daten von StatsBomb kann ohne Authentifizierung zugegriffen werden.
StatsBomb ist bestrebt, neue Daten und Forschungsergebnisse öffentlich zu teilen, um das Verständnis des Fußballspiels zu verbessern. Wir wollen neue Forschung und Analyse auf allen Ebenen aktiv fördern. Aus diesem Grund haben wir die StatsBomb-Daten bestimmter Ligen für die öffentliche Nutzung für Forschungsprojekte und echtes Interesse an Fußballanalysen frei zugänglich gemacht.
StatsBomb hofft, dass wir durch die kostenlose Bereitstellung von Daten die breitere Fußballanalyse-Community erweitern und neue Talente für die Branche gewinnen werden. Wir möchten einige grundlegende persönliche Informationen über die Nutzer unserer Daten sammeln. Wenn Sie uns Ihre E-Mail-Adresse mitteilen, bedeutet das, dass wir Sie informieren, wenn wir weitere Daten, Tutorials und Forschungsergebnisse zur Verfügung stellen. Wir speichern die Informationen gemäß unserer Datenschutzrichtlinie und der DSGVO.
Obwohl es uns ein Anliegen ist, Daten weiterzugeben und die Forschung zu erleichtern, bitten wir Sie auch dringend, verantwortungsvoll mit den Daten umzugehen. Bitte registrieren Sie Ihre Daten auf https://www.statsbomb.com/resource-centre und lesen Sie unsere Benutzervereinbarung sorgfältig durch. Durch die Nutzung dieses Repositorys stimmen Sie der Nutzungsvereinbarung zu. Wenn Sie auf diesen Daten basierende Forschungsergebnisse, Analysen oder Erkenntnisse veröffentlichen, teilen oder verbreiten, geben Sie bitte als Datenquelle StatsBomb an und verwenden Sie unser Logo.
from statsbombpy import sb
sb.competitions()
Wettbewerbs-ID | Saison_ID | Ländername | Wettbewerbsname | Competition_gender | Saisonname | match_updated | match_available | |
---|---|---|---|---|---|---|---|---|
0 | 9 | 42 | Deutschland | 1. Bundesliga | männlich | 2019/2020 | 29.12.2019T07:47:45.981 | 29.12.2019T07:47:45.981 |
1 | 9 | 4 | Deutschland | 1. Bundesliga | männlich | 2018/2019 | 2019-12-16T23:09:16.168756 | 2019-12-16T23:09:16.168756 |
2 | 9 | 1 | Deutschland | 1. Bundesliga | männlich | 2017/2018 | 2019-12-16T23:09:16.168756 | 2019-12-16T23:09:16.168756 |
3 | 78 | 42 | Kroatien | 1. HNL | männlich | 2019/2020 | 2020-01-02T10:35:49.065 | 2020-01-02T10:35:49.065 |
4 | 10 | 42 | Deutschland | 2. Bundesliga | männlich | 2019/2020 | 27.12.2019T00:36:37.498 | 27.12.2019T00:36:37.498 |
sb.matches(competition_id=9, season_id=42)
match_id | match_date | beginnen | Wettbewerb | Jahreszeit | home_team | Away_Team | home_score | weg_score | match_status | zuletzt_aktualisiert | match_week | Wettbewerbsbühne | Stadion | Schiedsrichter | home_managers | weg_manager | data_version | shot_fidelity_version | xy_fidelity_version | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 303299 | 15.12.2019 | 18:00:00.000 | Deutschland - 1. Bundesliga | 2019/2020 | Schalke 04 | Eintracht Frankfurt | 1 | 0 | verfügbar | 2019-12-17T09:50:17.558 | 15 | Reguläre Saison | VELTINS-Arena | F. Zwayer | David Wagner | Adi Hütter | 1.1.0 | 2 | 2 |
1 | 303223 | 01.09.2019 | 18:00:00.000 | Deutschland - 1. Bundesliga | 2019/2020 | Eintracht Frankfurt | Fortuna Düsseldorf | 2 | 1 | verfügbar | 2019-12-16T23:09:16.168756 | 3 | Reguläre Saison | Commerzbank-Arena | F. Willenborg | Adi Hütter | Friedhelm Funkel | 1.1.0 | 2 | 2 |
2 | 303083 | 15.12.2019 | 15:30:00.000 | Deutschland - 1. Bundesliga | 2019/2020 | Wolfsburg | Borussia Mönchengladbach | 2 | 1 | verfügbar | 2019-12-17T15:52:17.843 | 15 | Reguläre Saison | VOLKSWAGEN-ARENA | F. Brych | Oliver Glasner | Marco Rose | 1.1.0 | 2 | 2 |
3 | 303266 | 14.12.2019 | 15:30:00.000 | Deutschland - 1. Bundesliga | 2019/2020 | Hertha Berlin | Freiburg | 1 | 0 | verfügbar | 2019-12-17T17:43:18.285 | 15 | Reguläre Saison | Olympiastadion Berlin | F. Willenborg | Jürgen Klinsmann | Christian Streich | 1.1.0 | 2 | 2 |
4 | 303073 | 21.12.2019 | 15:30:00.000 | Deutschland - 1. Bundesliga | 2019/2020 | Bayern München | Wolfsburg | 2 | 0 | verfügbar | 2019-12-23T18:02:36.454 | 17 | Reguläre Saison | Allianz-Arena | C. Dingert | Hans-Dieter Flick | Oliver Glasner | 1.1.0 | 2 | 2 |
sb.lineups(match_id=303299)["Eintracht Frankfurt"]
Spieler_ID | Spielername | Spieler_Spitzname | Geburtsdatum | Spieler_Geschlecht | Spielerhöhe | Spielergewicht | Trikotnummer | Land | |
---|---|---|---|---|---|---|---|---|---|
0 | 3204 | Almamy Touré | Keiner | 28.04.1996 | männlich | 182,0 | 72,0 | 18 | Mali |
1 | 5591 | Filip Kostić | Keiner | 01.11.1992 | männlich | 184,0 | 82,0 | 10 | Serbien |
2 | 7713 | Obite Evan N'Dicka | Evan N'Dicka | 20.08.1999 | männlich | 190,0 | NaN | 2 | Frankreich |
3 | 8307 | Martin Hinteregger | Keiner | 07.09.1992 | männlich | 184,0 | 83,0 | 13 | Österreich |
4 | 8669 | Mijat Gaćinović | Keiner | 08.02.1995 | männlich | 175,0 | 66,0 | 11 | Serbien |
Die Standardeinstellungen zum Abfragen von Ereignissen geben einen einzelnen Datenrahmen mit allen Ereignistypen und Ereignisattributen zurück.
events = sb.events(match_id=303299)
ball_receipt_outcome | ball_recovery_offensive | ball_recovery_recovery_failure | block_deflection | Carry_end_location | Clearance_aerial_won | Clearance_body_part | Clearance_head | Abstand_linker_Fuß | Freigabe_rechter_Fuß | Gegendrücken | dribble_no_touch | dribble_outcome | dribble_overrun | duell_outcome | duell_type | Dauer | foul_committed_advantage | foul_committed_card | foul_won_advantage | foul_won_defensive | goalkeeper_body_part | goalkeeper_end_location | goalkeeper_outcome | goalkeeper_position | torwart_technik | Torwarttyp | Ausweis | Index | verletzung_stoppage_in_chain | interception_outcome | Standort | match_id | Minute | off_camera | aus | pass_aerial_won | pass_angle | pass_assisted_shot_id | pass_body_part | pass_cross | pass_cut_back | pass_deflected | pass_end_location | pass_goal_assist | pass_height | pass_length | pass_outcome | pass_outswinging | pass_recipient | pass_shot_assist | pass_straight | pass_switch | pass_technik | pass_through_ball | pass_type | pass_xclaim | Zeitraum | Spielmuster | Spieler | Position | Besitz | Besitz_Team | Zugehörige_Ereignisse | zweite | shot_aerial_won | shot_body_part | Shot_end_location | shot_first_time | shot_freeze_frame | shot_key_pass_id | shot_one_on_one | shot_outcome | shot_statsbomb_xg | shot_statsbomb_xg2 | Schusstechnik | Schusstyp | substitution_outcome | substitution_replacement | Team | Zeitstempel | Typ | Unterdruck | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
500 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3.498736 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 84828c06-41b5-44eb-aa92-1710bdb818ac | 1838 | NaN | NaN | [50.1, 16.6] | 303299 | 47 | NaN | NaN | NaN | 2.720095 | NaN | Linker Fuß | NaN | NaN | NaN | [13.3, 33.1] | NaN | Bodenpass | 40.329765 | NaN | NaN | Frederik Rønnow | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Regelmäßiges Spielen | Obite Evan N'Dicka | Linker Innenverteidiger | 103 | Eintracht Frankfurt | [ae3094e3-faa3-4608-8284-d9b8cca77711, c1202f1c-0831-4e88-83b2-597f56f0c858] | 52 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Eintracht Frankfurt | 00:02:52.438 | Passieren | WAHR |
501 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3.604236 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 9061cd20-513b-499f-b925-f1de5f241281 | 1840 | NaN | NaN | [13.3, 33.1] | 303299 | 47 | NaN | NaN | NaN | -0,153945 | NaN | Rechter Fuß | NaN | NaN | NaN | [77.1, 23.2] | NaN | Hochpass | 64.563540 | Unvollständig | NaN | Mijat Gaćinović | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Regelmäßiges Spielen | Frederik Rønnow | Torwart | 103 | Eintracht Frankfurt | [8e6495a7-782a-4f1a-845f-3ec50d761a1e, ff758a12-1ba6-4dd4-8b2c-7d39aa7aed97] | 55 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Eintracht Frankfurt | 00:02:55.937 | Passieren | NaN |
502 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2.101999 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 8e6495a7-782a-4f1a-845f-3ec50d761a1e | 1842 | NaN | NaN | [43,0, 56,9] | 303299 | 47 | NaN | NaN | NaN | -0,703110 | NaN | Kopf | NaN | NaN | NaN | [64,0, 39,1] | NaN | Hochpass | 27.528894 | NaN | NaN | Amine Harit | NaN | NaN | NaN | NaN | NaN | Erholung | NaN | 2 | Regelmäßiges Spielen | Ozan Muhammed Kabak | Rechter Innenverteidiger | 104 | Schalke 04 | [9061cd20-513b-499f-b925-f1de5f241281, be6dfe7d-7596-4cc2-8cd9-8c17d064317e] | 59 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Schalke 04 | 00:02:59.541 | Passieren | NaN |
503 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1.187459 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 86431bc7-210a-4868-8e18-26ff38becefc | 1854 | NaN | NaN | [65,9, 12,6] | 303299 | 48 | NaN | NaN | NaN | -0,730239 | NaN | Rechter Fuß | NaN | NaN | NaN | [74,5, 4,9] | NaN | Bodenpass | 11.543396 | NaN | NaN | Amine Harit | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Regelmäßiges Spielen | Suat Serdar | Linkes defensives Mittelfeld | 104 | Schalke 04 | [761b4e65-8f64-464c-8153-6a98465208ba] | 7 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Schalke 04 | 00:03:07.689 | Passieren | NaN |
504 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0,766628 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 6e58c713-622c-4246-8243-e4162e487a1c | 1858 | NaN | NaN | [79.1, 10.5] | 303299 | 48 | NaN | NaN | NaN | 1.254940 | NaN | Rechter Fuß | NaN | NaN | NaN | [84,1, 25,8] | NaN | Bodenpass | 16.096273 | NaN | NaN | Rabbi Matondo | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Regelmäßiges Spielen | Amine Harit | Zentrales offensives Mittelfeld | 104 | Schalke 04 | [b1960a76-d3ae-4ef3-a2cd-47eca8c25e0a, dd1575c0-a408-4177-944d-7e86d2f79181] | 11 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Schalke 04 | 00:03:11.719 | Passieren | WAHR |
Es ist auch möglich, unterschiedliche Datenrahmen für jeden Ereignistyp abzurufen und/oder unterschiedliche Ereignisattribute in ihren eigenen Spalten zu haben
sb.events(match_id=303299, split=True, flatten_attrs=False)["dribbles"]
Ausweis | Index | Zeitraum | Zeitstempel | Minute | zweite | Typ | Besitz | Besitz_Team | Spielmuster | Team | Spieler | Position | Standort | Dauer | Unterdruck | Zugehörige_Ereignisse | dribbeln | match_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | b190c01f-ad24-468c-8241-f955b91d996c | 131 | 1 | 00:02:08.032 | 2 | 8 | Dribbeln | 4 | Schalke 04 | Regelmäßiges Spielen | Schalke 04 | Daniel Caligiuri | Rechter Flügel | [110.2, 62.9] | 0,000000 | WAHR | [60f822df-5747-4787-b0f9-45bf5217eb8a] | {'outcome': {'id': 8, 'name': 'Complete'}} | 303299 |
1 | 4d773c92-f89f-491e-b3e0-3a1d2e863148 | 399 | 1 | 00:08:48.623 | 8 | 48 | Dribbeln | 18 | Schalke 04 | Regelmäßiges Spielen | Schalke 04 | Amine Harit | Zentrales offensives Mittelfeld | [88,9, 22,7] | 0,000000 | WAHR | [93d829df-eea7-416b-95aa-7593828cfade] | {'outcome': {'id': 8, 'name': 'Complete'}} | 303299 |
2 | 8a78dce4-998a-4e81-902c-9f3957cebc9d | 460 | 1 | 00:13:30.202 | 13 | 30 | Dribbeln | 23 | Schalke 04 | Regelmäßiges Spielen | Schalke 04 | Daniel Caligiuri | Rechter Flügel | [99,5, 68,1] | 0,007309 | WAHR | [772c5aae-e34e-4364-8a98-7caf7636c90b] | {'outcome': {'id': 9, 'name': 'Unvollständig'}} | 303299 |
3 | e44d0122-2f2e-4771-820d-cc326a8b0379 | 496 | 1 | 00:14:10.135 | 14 | 10 | Dribbeln | 24 | Schalke 04 | Von Throw In | Schalke 04 | Suat Serdar | Linkes defensives Mittelfeld | [41.2, 31.7] | 0,000000 | WAHR | [4de4039f-7efc-461b-b7d6-27c32ec2cd2a] | {'outcome': {'id': 8, 'name': 'Complete'}} | 303299 |
4 | 9555afbd-d838-42c9-8f80-be3cd09e4c4a | 793 | 1 | 00:20:18.409 | 20 | 18 | Dribbeln | 33 | Eintracht Frankfurt | Regelmäßiges Spielen | Eintracht Frankfurt | Timothy Chandler | Rechter Außenverteidiger | [81,8, 75,7] | 0,000000 | WAHR | [a5c88cee-6319-4c25-91cd-8a028d8dbfbf] | {'outcome': {'id': 9, 'name': 'Unvollständig'}} | 303299 |
Alle Ereignisse eines bestimmten Wettbewerbs können abgefragt und in einem einzigen Datenrahmen gespeichert werden
events = sb.competition_events(
country="Germany",
division= "1. Bundesliga",
season="2019/2020",
gender="male"
)
grouped_events = sb.competition_events(
country="Germany",
division= "1. Bundesliga",
season="2019/2020",
split=True
)
grouped_events["dribbles"]
Ausweis | Index | Zeitraum | Zeitstempel | Minute | zweite | Typ | Besitz | Besitz_Team | Spielmuster | Team | Spieler | Position | Standort | Dauer | Unterdruck | Zugehörige_Ereignisse | dribbeln | match_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | b190c01f-ad24-468c-8241-f955b91d996c | 131 | 1 | 00:02:08.032 | 2 | 8 | Dribbeln | 4 | Schalke 04 | Regelmäßiges Spielen | Schalke 04 | Daniel Caligiuri | Rechter Flügel | [110.2, 62.9] | 0,000000 | WAHR | [60f822df-5747-4787-b0f9-45bf5217eb8a] | {'outcome': {'id': 8, 'name': 'Complete'}} | 303299 |
1 | 4d773c92-f89f-491e-b3e0-3a1d2e863148 | 399 | 1 | 00:08:48.623 | 8 | 48 | Dribbeln | 18 | Schalke 04 | Regelmäßiges Spielen | Schalke 04 | Amine Harit | Zentrales offensives Mittelfeld | [88,9, 22,7] | 0,000000 | WAHR | [93d829df-eea7-416b-95aa-7593828cfade] | {'outcome': {'id': 8, 'name': 'Complete'}} | 303299 |
2 | 8a78dce4-998a-4e81-902c-9f3957cebc9d | 460 | 1 | 00:13:30.202 | 13 | 30 | Dribbeln | 23 | Schalke 04 | Regelmäßiges Spielen | Schalke 04 | Daniel Caligiuri | Rechter Flügel | [99,5, 68,1] | 0,007309 | WAHR | [772c5aae-e34e-4364-8a98-7caf7636c90b] | {'outcome': {'id': 9, 'name': 'Unvollständig'}} | 303299 |
3 | e44d0122-2f2e-4771-820d-cc326a8b0379 | 496 | 1 | 00:14:10.135 | 14 | 10 | Dribbeln | 24 | Schalke 04 | Von Throw In | Schalke 04 | Suat Serdar | Linkes defensives Mittelfeld | [41.2, 31.7] | 0,000000 | WAHR | [4de4039f-7efc-461b-b7d6-27c32ec2cd2a] | {'outcome': {'id': 8, 'name': 'Complete'}} | 303299 |
4 | 9555afbd-d838-42c9-8f80-be3cd09e4c4a | 793 | 1 | 00:20:18.409 | 20 | 18 | Dribbeln | 33 | Eintracht Frankfurt | Regelmäßiges Spielen | Eintracht Frankfurt | Timothy Chandler | Rechter Außenverteidiger | [81,8, 75,7] | 0,000000 | WAHR | [a5c88cee-6319-4c25-91cd-8a028d8dbfbf] | {'outcome': {'id': 9, 'name': 'Unvollständig'}} | 303299 |
Wenn Sie Zugriff auf 360-Daten für einen Wettbewerb haben, können Sie in den Funktionen events()
und competition_events()
include_360_metrics=True
festlegen, um 360-Metriken wie z. B. einen Zeilenumbruch zusammen mit den Ereignisdaten abzurufen.
Die offenen Daten umfassen nicht die 360-Grad-Metriken. Dies ist derzeit nur für Kunden mit einem Datenabonnement verfügbar.
events = sb.events(match_id=3837323, include_360_metrics=True)
comp_events = sb.competition_events(
country="Europe",
division="Champions League",
season="2022/2023",
include_360_metrics=True,
)
comp_events
50_50 | bad_behaviour_card | ball_receipt_exceeds_distance | ball_receipt_in_space | ball_receipt_outcome | ball_recovery_offensive | ball_recovery_recovery_failure | block_deflection | block_offensive | block_save_block | Carry_end_location | Clearance_aerial_won | Clearance_body_part | Clearance_head | Abstand_linker_Fuß | Clearance_other | Freigabe_rechter_Fuß | Gegendrücken | distance_to_nearest_defender | dribble_no_touch | dribble_nutmeg | dribble_outcome | dribble_overrun | duell_outcome | duell_type | Dauer | foul_committed_advantage | foul_committed_card | foul_committed_offensive | foul_committed_penalty | foul_committed_type | foul_won_advantage | foul_won_defensive | foul_won_penalty | goalkeeper_body_part | goalkeeper_end_location | goalkeeper_lost_in_play | goalkeeper_lost_out | goalkeeper_outcome | goalkeeper_position | goalkeeper_punched_out | goalkeeper_shot_saved_off_target | goalkeeper_shot_saved_to_post | goalkeeper_success_in_play | torwart_technik | Torwarttyp | half_start_late_video_start | Ausweis | Index | verletzung_stoppage_in_chain | interception_outcome | line_breaking_pass | Standort | Minute | miscontrol_aerial_won | num_defenders_on_goal_side_of_actor | obv_against_after | obv_against_before | obv_against_net | obv_for_after | obv_for_before | obv_for_net | obv_total_net | off_camera | aus | pass_aerial_won | pass_angle | pass_assisted_shot_id | pass_body_part | pass_cross | pass_cut_back | pass_deflected | pass_end_location | pass_goal_assist | pass_height | pass_inswinging | pass_length | pass_miscommunication | pass_no_touch | pass_outcome | pass_outswinging | pass_recipient | pass_shot_assist | pass_straight | pass_switch | pass_technik | pass_through_ball | pass_type | pass_xclaim | Zeitraum | Spielmuster | Spieler | Spieler_ID | player_off_permanent | Position | Besitz | Besitz_Team | Besitz_Team_ID | Zugehörige_Ereignisse | zweite | shot_aerial_won | shot_body_part | shot_deflected | Shot_end_location | shot_first_time | shot_freeze_frame | shot_key_pass_id | shot_one_on_one | shot_open_goal | shot_outcome | shot_redirect | shot_saved_off_target | shot_saved_to_post | shot_statsbomb_xg | shot_statsbomb_xg2 | Schusstechnik | Schusstyp | substitution_outcome | substitution_replacement | Team | Zeitstempel | Typ | Unterdruck | sichtbare_Gegner | sichtbare_teamkollegen | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0,0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3479244f-8234-43c9-a389-4ce587062b48 | 1 | NaN | NaN | NaN | NaN | 0 | NaN | NaN | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | Regelmäßiges Spielen | NaN | NaN | NaN | NaN | 1 | Real Madrid | 220 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Real Madrid | 00:00:00.000 | Startelf | NaN | NaN | NaN |
1 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0,0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | c4f5a51b-741e-4920-ac32-02349b1f2755 | 2 | NaN | NaN | NaN | NaN | 0 | NaN | NaN | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | Regelmäßiges Spielen | NaN | NaN | NaN | NaN | 1 | Real Madrid | 220 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | keltisch | 00:00:00.000 | Startelf | NaN | NaN | NaN |
2 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0,0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 27be67e7-fdb5-4db9-92b6-8f3214cecec4 | 1 | NaN | NaN | NaN | NaN | 0 | NaN | NaN | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | Regelmäßiges Spielen | NaN | NaN | NaN | NaN | 1 | Juventus | 224 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Juventus | 00:00:00.000 | Startelf | NaN | NaN | NaN |
3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0,0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 819c381e-29c1-4f10-a6c3-acc3181cec14 | 2 | NaN | NaN | NaN | NaN | 0 | NaN | NaN | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | Regelmäßiges Spielen | NaN | NaN | NaN | NaN | 1 | Juventus | 224 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Paris Saint-Germain | 00:00:00.000 | Startelf | NaN | NaN | NaN |
4 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0,0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | e6d42d87-c78a-4286-94fd-4095e9f7b16f | 1 | NaN | NaN | NaN | NaN | 0 | NaN | NaN | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | Regelmäßiges Spielen | NaN | NaN | NaN | NaN | 1 | Manchester City | 36 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Manchester City | 00:00:00.000 | Startelf | NaN | NaN | NaN |
Die Frame-Funktionen geben die rohen 360-Standbilddaten zusammen mit dem sichtbaren Bereich für jedes Frame zurück. Dies wird auf Spielerebene zurückgegeben, sodass Sie mehrere Zeilen pro Frame/Ereignis-ID haben.
match_frames = sb.frames(match_id=3772072, fmt='dataframe')
comp_frames = sb.competition_frames(
country="Germany",
division= "1. Bundesliga",
season="2019/2020"
)
match_frames
Schauspieler | distance_from_edge_of_visible_area | event_uuid | Hüter | Standort | match_id | Teamkollege | sichtbarer_Bereich | |
---|---|---|---|---|---|---|---|---|
0 | FALSCH | 5.183739 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | FALSCH | [79.14114105224532, 12.646560364129726] | 3855869 | FALSCH | [50.8965834880119, 80.0, 55.8915648466696, 6.76382112514142, 80.0765213141343, 1.48859955554994, 113.056993108772, 80,0, 50,8965834880119, 80,0] |
1 | FALSCH | 7.784551 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | FALSCH | [80.68650097437124, 23.040779651892883] | 3855869 | WAHR | [50.8965834880119, 80.0, 55.8915648466696, 6.76382112514142, 80.0765213141343, 1.48859955554994, 113.056993108772, 80,0, 50,8965834880119, 80,0] |
2 | FALSCH | 8.873694 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | FALSCH | [80.20033992405365, 24.695673759901382] | 3855869 | FALSCH | [50.8965834880119, 80.0, 55.8915648466696, 6.76382112514142, 80.0765213141343, 1.48859955554994, 113.056993108772, 80,0, 50,8965834880119, 80,0] |
3 | FALSCH | 9.738309 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | FALSCH | [82.43349155444821, 32.24426347120625] | 3855869 | FALSCH | [50.8965834880119, 80.0, 55.8915648466696, 6.76382112514142, 80.0765213141343, 1.48859955554994, 113.056993108772, 80,0, 50,8965834880119, 80,0] |
4 | FALSCH | 11.049633 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | FALSCH | [81.320294294838, 32.98015558905158] | 3855869 | WAHR | [50.8965834880119, 80.0, 55.8915648466696, 6.76382112514142, 80.0765213141343, 1.48859955554994, 113.056993108772, 80,0, 50,8965834880119, 80,0] |
Für Kunden stellen wir auch aggregierte Statistiken auf der Ebene Spielerspiel, Spielersaison und Mannschaftssaison bereit.
player_match = sb.player_match_stats(3772072)
player_season = sb.player_season_stats(competition_id=9, season_id=42)
team_match = sb.team_match_stats(3772072)
team_season = sb.team_season_stats(competition_id=9, season_id=42)
player_match
player_match_pressions | player_match_long_balls | player_match_shot_touch_ratio | player_match_passes_into_box | player_match_pression_duration_avg | player_match_crossing_ratio | player_match_op_f3_forward_passes | player_match_passing_ratio | team_id | player_match_successful_passes | player_match_op_xgbuildup_per_possession | player_match_op_xgchain | player_match_op_passes_into_box | player_match_deep_progressions | player_match_turnovers | player_match_counterpressed_action_fails | player_match_passes | player_match_key_passes | player_match_dispossessions | player_match_penalties_won | player_match_through_balls | Teamname | player_match_op_passes | player_match_dribbles | player_match_clearances | player_match_forward_passes | player_match_np_xg_per_shot | player_match_counterPressures | Spieler_ID | player_match_op_xa | player_match_op_xgchain_per_possession | player_match_minutes | player_match_pressed_long_balls | player_match_op_f3_sideways_passes | player_match_dribbles_faced | player_match_np_xg | player_match_goals | player_match_op_key_passes | player_match_aerial_ratio | player_match_op_shots | player_match_successful_crosses | player_match_shots_blocked | player_match_op_f3_passes | player_match_op_assists | player_match_long_ball_ratio | Konto-ID | player_match_np_shots | player_match_challenge_ratio | player_match_touches | player_match_pression_regains | player_match_crosses_into_box | player_match_fouls | player_match_sideways_passes | player_match_aerials | player_match_touches_inside_box | player_match_counterpression_duration_total | player_match_successful_aerials | player_match_box_cross_ratio | player_match_xgbuildup_per_possession | player_match_dribbled_past | player_match_pression_duration_total | player_match_op_xgbuildup | player_match_np_shots_on_target | player_match_interceptions | player_match_counterpression_duration_avg | player_match_xgchain_per_possession | player_match_successful_long_balls | player_match_op_f3_backward_passes | player_match_xgchain | player_match_tackles | player_match_assists | player_match_sp_xa | player_match_aggressive_actions | Spielername | player_match_xa | match_id | player_match_passes_inside_box | player_match_possession | player_match_pressed_action_fails | player_match_crosses | player_match_fouls_won | player_match_xgbuildup | player_match_backward_passes | player_match_unpressed_long_balls | player_match_np_goals | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | NaN | 10 | 0,000000 | 0 | NaN | NaN | 0 | 0,842105 | 870 | 32 | 0,003191 | 0,105292 | 0 | 0 | 0 | NaN | 38 | 0 | 0 | 0 | 0 | Arminia Bielefeld | 33 | 0 | 0 | 9 | NaN | NaN | 9194 | 0,000000 | 0,003191 | 94.21667 | 1 | 0 | 0 | 0,000000 | 0 | 0 | NaN | 0 | 0 | 0 | 0 | 0 | 0,600000 | 48 | 0 | NaN | 65 | 0 | 0 | 0 | 29 | 0 | 0 | NaN | 0 | NaN | 0,003191 | 0 | NaN | 0,105292 | 0 | 0 | NaN | 0,003191 | 6 | 0 | 0,105292 | 0 | 0 | 0,000000 | 0 | Stefan Ortega | 0,000000 | 3772072 | 0 | 0,491135 | NaN | 0 | 0 | 0,105292 | 0 | 9 | 0 |
1 | 8,0 | 0 | 0,033333 | 0 | 0,570626 | 0,0 | 0 | 0,812500 | 870 | 13 | 0,003726 | 0,160582 | 0 | 1 | 3 | 0,0 | 16 | 1 | 3 | 0 | 0 | Arminia Bielefeld | 10 | 1 | 1 | 0 | 0,034737 | 1,0 | 9210 | 0,043881 | 0,007299 | 91,90000 | 1 | 4 | 0 | 0,034737 | 0 | 1 | 0,285714 | 1 | 0 | 0 | 6 | 0 | NaN | 48 | 1 | 1,0 | 30 | 0 | 0 | 0 | 10 | 7 | 5 | 0,327541 | 2 | NaN | 0,003726 | 0 | 4.565010 | 0,081964 | 0 | 0 | 0,327541 | 0,007299 | 0 | 2 | 0,160582 | 1 | 0 | 0,000000 | 9 | Fabian Klos | 0,043881 | 3772072 | 1 | 0,491135 | 0,0 | 1 | 1 | 0,081964 | 6 | 0 | 0 |
2 | 7,0 | 13 | 0,000000 | 1 | 1.795411 | 0,0 | 1 | 0,852941 | 190 | 58 | 0,017993 | 0,773687 | 0 | 3 | 0 | 0,0 | 68 | 1 | 0 | 0 | 0 | Union Berlin | 60 | 0 | 2 | 4 | NaN | 0,0 | 9164 | 0,000000 | 0,017993 | 94.21667 | 2 | 3 | 0 | 0,000000 | 0 | 0 | 0,666667 | 0 | 0 | 1 | 4 | 0 | 0,615385 | 48 | 0 | 1,0 | 122 | 1 | 0 | 2 | 51 | 3 | 0 | NaN | 2 | 0,0 | 0,017993 | 0 | 12.567875 | 0,773687 | 0 | 1 | NaN | 0,019504 | 8 | 0 | 0,838693 | 2 | 0 | 0,043227 | 11 | Christopher Trimmel | 0,043227 | 3772072 | 0 | 0,508865 | 0,0 | 1 | 0 | 0,773687 | 13 | 13 | 0 |
3 | 3,0 | 4 | 0,013699 | 1 | 0,744943 | NaN | 1 | 0,777778 | 870 | 35 | 0,002196 | 0,090022 | 1 | 1 | 1 | 0,0 | 45 | 0 | 1 | 0 | 0 | Arminia Bielefeld | 40 | 0 | 1 | 18 | 0,019468 | 0,0 | 24343 | 0,000000 | 0,002196 | 94.21667 | 1 | 1 | 0 | 0,019468 | 0 | 0 | 0,000000 | 1 | 0 | 1 | 2 | 0 | 0,750000 | 48 | 1 | NaN | 73 | 0 | 0 | 0 | 22 | 1 | 1 | NaN | 0 | 0,0 | 0,003043 | 0 | 2.234830 | 0,090022 | 0 | 0 | NaN | 0,003043 | 3 | 0 | 0,124760 | 0 | 0 | 0,000000 | 3 | Jacob Laursen | 0,000000 | 3772072 | 0 | 0,491135 | 0,0 | 0 | 1 | 0,124760 | 5 | 4 | 0 |
4 | 14.0 | 6 | 0,000 |