Trazido a você pelo StatsBomb, este repositório é um pacote Python que permite aos usuários transmitir facilmente dados do StatsBomb para Python usando suas credenciais de login para a API ou dados gratuitos de nossa página GitHub. O acesso à API é apenas para clientes pagantes
Suporte: [email protected]
pip install statsbombpy
nose2 -v --pretty-assert
A autenticação pode ser feita definindo variáveis de ambiente denominadas SB_USERNAME
e SB_PASSWORD
para suas credenciais de login.
Alternativamente, se você não quiser usar variáveis de ambiente, todas as funções aceitam um argumento creds
para passar suas credenciais de login no formato {"user": "", "passwd": ""}
Você pode especificar quantos núcleos do seu computador usar ao executar as funções sb.competition_events()
e sb.competition_frames()
definindo a variável de ambiente SB_CORES
com o número que deseja usar. Permitir que o statsbombpy use mais núcleos irá acelerar essas funções.
Se você não tiver uma variável de ambiente definida, tentaremos detectar o número de núcleos em seu sistema e usaremos 2 a menos que esse número. Se não conseguirmos detectar o número de núcleos, definimos o número como 4.
Os dados abertos do StatsBomb podem ser acessados sem a necessidade de autenticação.
StatsBomb está empenhada em compartilhar publicamente novos dados e pesquisas para melhorar a compreensão do jogo de futebol. Queremos encorajar ativamente novas pesquisas e análises em todos os níveis. Portanto, disponibilizamos gratuitamente certas ligas de dados StatsBomb para uso público para projetos de pesquisa e interesse genuíno em análises de futebol.
A StatsBomb espera que, ao disponibilizar dados gratuitamente, possamos ampliar a comunidade mais ampla de análise de futebol e atrair novos talentos para a indústria. Gostaríamos de coletar algumas informações pessoais básicas sobre os usuários dos nossos dados. Ao nos fornecer seu endereço de e-mail, significa que avisaremos quando disponibilizarmos mais dados, tutoriais e pesquisas. Armazenaremos as informações de acordo com nossa Política de Privacidade e o GDPR.
Embora estejamos interessados em compartilhar dados e facilitar a pesquisa, também pedimos que você seja responsável com os dados. Registre seus dados em https://www.statsbomb.com/resource-centre e leia nosso Contrato de Usuário com atenção. Ao usar este repositório, você concorda com o contrato do usuário. Se você publicar, compartilhar ou distribuir qualquer pesquisa, análise ou insights baseados nesses dados, indique a fonte dos dados como StatsBomb e use nosso logotipo.
from statsbombpy import sb
sb.competitions()
competição_id | ID_da_temporada | nome_país | nome_competição | competição_gênero | nome_da_temporada | match_updated | correspondência_disponível | |
---|---|---|---|---|---|---|---|---|
0 | 9 | 42 | Alemanha | 1. Bundesliga | macho | 2019/2020 | 29-12-2019T07:47:45.981 | 29-12-2019T07:47:45.981 |
1 | 9 | 4 | Alemanha | 1. Bundesliga | macho | 2018/2019 | 16-12-2019T23:09:16.168756 | 16-12-2019T23:09:16.168756 |
2 | 9 | 1 | Alemanha | 1. Bundesliga | macho | 2017/2018 | 16-12-2019T23:09:16.168756 | 16-12-2019T23:09:16.168756 |
3 | 78 | 42 | Croácia | 1. HNL | macho | 2019/2020 | 2020-01-02T10:35:49.065 | 2020-01-02T10:35:49.065 |
4 | 10 | 42 | Alemanha | 2. Bundesliga | macho | 2019/2020 | 27-12-2019T00:36:37.498 | 27-12-2019T00:36:37.498 |
sb.matches(competition_id=9, season_id=42)
match_id | data_da_partida | começo | concorrência | temporada | home_team | equipe_ausente | home_score | away_score | status_de_correspondência | última_atualização | semana_jogo | fase_competição | estádio | árbitro | home_managers | away_managers | versão_dados | shot_fidelity_version | xy_fidelity_versão | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 303299 | 15/12/2019 | 18:00:00.000 | Alemanha - 1. Bundesliga | 2019/2020 | Schalke 04 | Eintracht Frankfurt | 1 | 0 | disponível | 17-12-2019T09:50:17.558 | 15 | Temporada Regular | Arena VELTINS | F. Zwayer | David Wagner | Adi Hutter | 1.1.0 | 2 | 2 |
1 | 303223 | 01/09/2019 | 18:00:00.000 | Alemanha - 1. Bundesliga | 2019/2020 | Eintracht Frankfurt | Fortuna Dusseldorf | 2 | 1 | disponível | 16-12-2019T23:09:16.168756 | 3 | Temporada Regular | Arena Commerzbank | F. Willenborg | Adi Hutter | Friedhelm Funkel | 1.1.0 | 2 | 2 |
2 | 303083 | 15/12/2019 | 15:30:00.000 | Alemanha - 1. Bundesliga | 2019/2020 | Wolfsburgo | Borussia Monchengladbach | 2 | 1 | disponível | 17-12-2019T15:52:17.843 | 15 | Temporada Regular | ARENA VOLKSWAGEN | F. Brych | Oliver Glasner | Marco Rosa | 1.1.0 | 2 | 2 |
3 | 303266 | 14/12/2019 | 15:30:00.000 | Alemanha - 1. Bundesliga | 2019/2020 | Hertha Berlim | Friburgo | 1 | 0 | disponível | 17-12-2019T17:43:18.285 | 15 | Temporada Regular | Estádio Olímpico de Berlim | F. Willenborg | Jurgen Klinsmann | Christian Streich | 1.1.0 | 2 | 2 |
4 | 303073 | 21/12/2019 | 15:30:00.000 | Alemanha - 1. Bundesliga | 2019/2020 | Bayern de Munique | Wolfsburgo | 2 | 0 | disponível | 2019-12-23T18:02:36.454 | 17 | Temporada Regular | Arena Allianz | C.Dingert | Filme de Hans-Dieter | Oliver Glasner | 1.1.0 | 2 | 2 |
sb.lineups(match_id=303299)["Eintracht Frankfurt"]
ID_do_jogador | nome_do_jogador | jogador_apelido | data_nascimento | jogador_gênero | altura_do_jogador | peso_do_jogador | número_da_camisa | país | |
---|---|---|---|---|---|---|---|---|---|
0 | 3204 | Almamy Touré | Nenhum | 28/04/1996 | macho | 182,0 | 72,0 | 18 | Mali |
1 | 5591 | Filip Kostic | Nenhum | 01-11-1992 | macho | 184,0 | 82,0 | 10 | Sérvia |
2 | 7713 | Obite Evan N'Dicka | Evan N'Dicka | 20/08/1999 | macho | 190,0 | NaN | 2 | França |
3 | 8307 | Martin Hinteregger | Nenhum | 07/09/1992 | macho | 184,0 | 83,0 | 13 | Áustria |
4 | 8669 | Mijat Gaćinović | Nenhum | 08/02/1995 | macho | 175,0 | 66,0 | 11 | Sérvia |
As configurações padrão para consultar eventos retornam um único dataframe com todos os tipos e atributos de eventos.
events = sb.events(match_id=303299)
bola_receipt_resultado | bola_recuperação_ofensiva | ball_recovery_recovery_failure | block_deflexão | carry_end_location | liberação_aérea_won | liberação_body_part | liberação_head | folga_pé_esquerdo | folga_pé_direito | contrapressão | drible_no_touch | drible_outcome | drible_overrun | duelo_resultado | duel_type | duração | foul_commited_advantage | cartão_comprometido_foul | foul_won_advantage | foul_won_defensive | goleiro_corpo_parte | goleiro_end_location | goleiro_resultado | posição_goleiro | técnica_de_goleiro | tipo_goleiro | eu ia | índice | lesão_stoppage_in_chain | interceptação_resultado | localização | match_id | minuto | fora da câmera | fora | pass_aerial_won | ângulo_de_passagem | pass_assisted_shot_id | pass_body_part | pass_cross | pass_cut_back | pass_deflected | pass_end_location | pass_goal_assist | altura_passa | pass_length | pass_outcome | pass_outswinging | pass_recipient | pass_shot_assist | pass_straight | senha_switch | pass_técnica | pass_through_ball | tipo_senha | pass_xclaim | período | play_pattern | jogador | posição | posse | posse_equipe | eventos_relacionados | segundo | tiro_aéreo_ganhou | shot_body_part | shot_end_location | tiro_primeira_vez | shot_freeze_frame | shot_key_pass_id | tiro_one_on_one | tiro_resultado | shot_statsbomb_xg | shot_statsbomb_xg2 | técnica de tiro | tipo de tiro | substituição_resultado | substituição_substituição | equipe | carimbo de data/hora | tipo | sub_pressão | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Pé esquerdo | NaN | NaN | NaN | [13.3, 33.1] | NaN | Passe Terrestre | 40.329765 | NaN | NaN | Frederik Ronnow | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Jogo normal | Obite Evan N'Dicka | Defesa Central Esquerdo | 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 | Passar | Verdadeiro |
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 | Pé direito | NaN | NaN | NaN | [77,1, 23,2] | NaN | Passa alta | 64.563540 | Incompleto | NaN | Mijat Gaćinović | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Jogo normal | Frederik Ronnow | Goleiro | 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 | Passar | 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 | Cabeça | NaN | NaN | NaN | [64,0, 39,1] | NaN | Passa alta | 27.528894 | NaN | NaN | Amina Harit | NaN | NaN | NaN | NaN | NaN | Recuperação | NaN | 2 | Jogo normal | Ozan Muhammed Kabak | Defesa central direito | 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 | Passar | 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 | Pé direito | NaN | NaN | NaN | [74,5, 4,9] | NaN | Passe Terrestre | 11.543396 | NaN | NaN | Amina Harit | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Jogo normal | Suat Serdar | Médio Defensivo Esquerdo | 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 | Passar | 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 | Pé direito | NaN | NaN | NaN | [84,1, 25,8] | NaN | Passe Terrestre | 16.096273 | NaN | NaN | Rabino Matondo | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | Jogo normal | Amina Harit | Meio-campo de ataque central | 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 | Passar | Verdadeiro |
Também é possível obter dataframes distintos para cada tipo de evento e/ou ter atributos de evento distintos em suas próprias colunas
sb.events(match_id=303299, split=True, flatten_attrs=False)["dribbles"]
eu ia | índice | período | carimbo de data/hora | minuto | segundo | tipo | posse | posse_equipe | play_pattern | equipe | jogador | posição | localização | duração | sub_pressão | eventos_relacionados | driblar | match_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | b190c01f-ad24-468c-8241-f955b91d996c | 131 | 1 | 00:02:08.032 | 2 | 8 | Driblar | 4 | Schalke 04 | Jogo normal | Schalke 04 | Daniel Caligiuri | Direita | [110,2, 62,9] | 0,000000 | Verdadeiro | [60f822df-5747-4787-b0f9-45bf5217eb8a] | {'resultado': {'id': 8, 'nome': 'Completo'}} | 303299 |
1 | 4d773c92-f89f-491e-b3e0-3a1d2e863148 | 399 | 1 | 00:08:48,623 | 8 | 48 | Driblar | 18 | Schalke 04 | Jogo normal | Schalke 04 | Amina Harit | Meio-campo de ataque central | [88,9, 22,7] | 0,000000 | Verdadeiro | [93d829df-eea7-416b-95aa-7593828cfade] | {'resultado': {'id': 8, 'nome': 'Completo'}} | 303299 |
2 | 8a78dce4-998a-4e81-902c-9f3957cebc9d | 460 | 1 | 00:13:30.202 | 13 | 30 | Driblar | 23 | Schalke 04 | Jogo normal | Schalke 04 | Daniel Caligiuri | Direita | [99,5, 68,1] | 0,007309 | Verdadeiro | [772c5aae-e34e-4364-8a98-7caf7636c90b] | {'resultado': {'id': 9, 'nome': 'Incompleto'}} | 303299 |
3 | e44d0122-2f2e-4771-820d-cc326a8b0379 | 496 | 1 | 00:14:10,135 | 14 | 10 | Driblar | 24 | Schalke 04 | Do lançamento | Schalke 04 | Suat Serdar | Médio Defensivo Esquerdo | [41,2, 31,7] | 0,000000 | Verdadeiro | [4de4039f-7efc-461b-b7d6-27c32ec2cd2a] | {'resultado': {'id': 8, 'nome': 'Completo'}} | 303299 |
4 | 9555afbd-d838-42c9-8f80-be3cd09e4c4a | 793 | 1 | 00:20:18.409 | 20 | 18 | Driblar | 33 | Eintracht Frankfurt | Jogo normal | Eintracht Frankfurt | Timóteo Chandler | Lateral Direita | [81,8, 75,7] | 0,000000 | Verdadeiro | [a5c88cee-6319-4c25-91cd-8a028d8dbfbf] | {'resultado': {'id': 9, 'nome': 'Incompleto'}} | 303299 |
Todos os eventos de uma determinada competição podem ser consultados e armazenados em um único dataframe
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"]
eu ia | índice | período | carimbo de data/hora | minuto | segundo | tipo | posse | posse_equipe | play_pattern | equipe | jogador | posição | localização | duração | sub_pressão | eventos_relacionados | driblar | match_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | b190c01f-ad24-468c-8241-f955b91d996c | 131 | 1 | 00:02:08.032 | 2 | 8 | Driblar | 4 | Schalke 04 | Jogo normal | Schalke 04 | Daniel Caligiuri | Direita | [110,2, 62,9] | 0,000000 | Verdadeiro | [60f822df-5747-4787-b0f9-45bf5217eb8a] | {'resultado': {'id': 8, 'nome': 'Completo'}} | 303299 |
1 | 4d773c92-f89f-491e-b3e0-3a1d2e863148 | 399 | 1 | 00:08:48,623 | 8 | 48 | Driblar | 18 | Schalke 04 | Jogo normal | Schalke 04 | Amina Harit | Meio-campo de ataque central | [88,9, 22,7] | 0,000000 | Verdadeiro | [93d829df-eea7-416b-95aa-7593828cfade] | {'resultado': {'id': 8, 'nome': 'Completo'}} | 303299 |
2 | 8a78dce4-998a-4e81-902c-9f3957cebc9d | 460 | 1 | 00:13:30.202 | 13 | 30 | Driblar | 23 | Schalke 04 | Jogo normal | Schalke 04 | Daniel Caligiuri | Direita | [99,5, 68,1] | 0,007309 | Verdadeiro | [772c5aae-e34e-4364-8a98-7caf7636c90b] | {'resultado': {'id': 9, 'nome': 'Incompleto'}} | 303299 |
3 | e44d0122-2f2e-4771-820d-cc326a8b0379 | 496 | 1 | 00:14:10,135 | 14 | 10 | Driblar | 24 | Schalke 04 | Do lançamento | Schalke 04 | Suat Serdar | Médio Defensivo Esquerdo | [41,2, 31,7] | 0,000000 | Verdadeiro | [4de4039f-7efc-461b-b7d6-27c32ec2cd2a] | {'resultado': {'id': 8, 'nome': 'Completo'}} | 303299 |
4 | 9555afbd-d838-42c9-8f80-be3cd09e4c4a | 793 | 1 | 00:20:18.409 | 20 | 18 | Driblar | 33 | Eintracht Frankfurt | Jogo normal | Eintracht Frankfurt | Timóteo Chandler | Lateral Direita | [81,8, 75,7] | 0,000000 | Verdadeiro | [a5c88cee-6319-4c25-91cd-8a028d8dbfbf] | {'resultado': {'id': 9, 'nome': 'Incompleto'}} | 303299 |
Se você tiver acesso a dados 360 para uma competição, poderá definir include_360_metrics=True
nas funções events()
e competition_events()
para recuperar métricas 360, como passes de quebra de linha junto com os dados do evento.
Os dados abertos não incluem as métricas 360. Atualmente, isso está disponível apenas para clientes com assinatura de dados.
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 | bola_receipt_resultado | bola_recuperação_ofensiva | ball_recovery_recovery_failure | block_deflexão | bloco_ofensivo | bloco_salvar_bloco | carry_end_location | liberação_aérea_won | liberação_body_part | liberação_head | folga_pé_esquerdo | autorização_outro | folga_pé_direito | contrapressão | distância_para_mais próximo_defender | drible_no_touch | drible_noz-moscada | drible_outcome | drible_overrun | duelo_resultado | duel_type | duração | foul_commited_advantage | cartão_comprometido_foul | falta_comprometida_ofensiva | foul_commited_penalty | foul_commited_type | foul_won_advantage | foul_won_defensive | foul_won_penalty | goleiro_corpo_parte | goleiro_end_location | goleiro_perdido_em_jogo | goleiro_lost_out | goleiro_resultado | posição_goleiro | goleiro_punched_out | goleiro_shot_saved_off_target | goalkeeper_shot_saved_to_post | goleiro_sucesso_em_jogo | técnica_de_goleiro | tipo_goleiro | half_start_late_video_start | eu ia | índice | lesão_stoppage_in_chain | interceptação_resultado | linha_quebra_pass | localização | minuto | miscontrol_aerial_won | num_defenders_on_goal_side_of_actor | obv_contra_depois | obv_against_before | obv_against_net | obv_para_depois | obv_for_before | obv_for_net | obv_total_net | fora da câmera | fora | pass_aerial_won | ângulo_de_passagem | pass_assisted_shot_id | pass_body_part | pass_cross | pass_cut_back | pass_deflected | pass_end_location | pass_goal_assist | altura_passa | pass_inswinging | pass_length | pass_miscommunication | pass_no_touch | pass_outcome | pass_outswinging | pass_recipient | pass_shot_assist | pass_straight | senha_switch | pass_técnica | pass_through_ball | tipo_senha | pass_xclaim | período | play_pattern | jogador | ID_do_jogador | player_off_permanent | posição | posse | posse_equipe | posse_team_id | eventos_relacionados | segundo | tiro_aéreo_ganhou | shot_body_part | tiro_defletido | shot_end_location | tiro_primeira_vez | shot_freeze_frame | shot_key_pass_id | tiro_one_on_one | shot_open_goal | tiro_resultado | shot_redirect | tiro_saved_off_target | tiro_salvo_para_post | shot_statsbomb_xg | shot_statsbomb_xg2 | técnica de tiro | tipo de tiro | substituição_resultado | substituição_substituição | equipe | carimbo de data/hora | tipo | sub_pressão | visíveis_opponents | visíveis_teammates | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | 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 | Jogo normal | 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 | XI inicial | 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 | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | 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 | Jogo normal | 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 | céltico | 00:00:00.000 | XI inicial | 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 | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | 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 | Jogo normal | NaN | NaN | NaN | NaN | 1 | Juve | 224 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Juve | 00:00:00.000 | XI inicial | 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 | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | 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 | Jogo normal | NaN | NaN | NaN | NaN | 1 | Juve | 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 | XI inicial | 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 | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | 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 | Jogo normal | NaN | NaN | NaN | NaN | 1 | Cidade de Manchester | 36 | NaN | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Cidade de Manchester | 00:00:00.000 | XI inicial | NaN | NaN | NaN |
As funções de quadro retornarão os dados brutos do quadro congelado 360 junto com a área visível de cada quadro. Isso é retornado no nível do jogador para que você tenha várias linhas por quadro/event_id.
match_frames = sb.frames(match_id=3772072, fmt='dataframe')
comp_frames = sb.competition_frames(
country="Germany",
division= "1. Bundesliga",
season="2019/2020"
)
match_frames
ator | distância_da_borda_da_área_visível | evento_uuid | goleiro | localização | match_id | companheiro de equipe | área_visível | |
---|---|---|---|---|---|---|---|---|
0 | Falso | 5.183739 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | Falso | [79.14114105224532, 12.646560364129726] | 3855869 | Falso | [50,8965834880119, 80,0, 55,8915648466696, 6,76382112514142, 80,0765213141343, 1,48859955554994, 113,056993108772, 80,0, 50,8965834880119, 80,0] |
1 | Falso | 7.784551 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | Falso | [80.68650097437124, 23.040779651892883] | 3855869 | Verdadeiro | [50,8965834880119, 80,0, 55,8915648466696, 6,76382112514142, 80,0765213141343, 1,48859955554994, 113,056993108772, 80,0, 50,8965834880119, 80,0] |
2 | Falso | 8.873694 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | Falso | [80.20033992405365, 24.695673759901382] | 3855869 | Falso | [50,8965834880119, 80,0, 55,8915648466696, 6,76382112514142, 80,0765213141343, 1,48859955554994, 113,056993108772, 80,0, 50,8965834880119, 80,0] |
3 | Falso | 9.738309 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | Falso | [82.43349155444821, 32.24426347120625] | 3855869 | Falso | [50,8965834880119, 80,0, 55,8915648466696, 6,76382112514142, 80,0765213141343, 1,48859955554994, 113,056993108772, 80,0, 50,8965834880119, 80,0] |
4 | Falso | 11.049633 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | Falso | [81.320294294838, 32.98015558905158] | 3855869 | Verdadeiro | [50,8965834880119, 80,0, 55,8915648466696, 6,76382112514142, 80,0765213141343, 1,48859955554994, 113,056993108772, 80,0, 50,8965834880119, 80,0] |
Para os clientes, também fornecemos estatísticas agregadas nos níveis de jogo de jogador, temporada de jogador e temporada de equipe.
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 | id_da_equipe | 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_counterpressioned_action_fails | player_match_passes | player_match_key_passes | player_match_dispossessions | player_match_penalties_won | player_match_through_balls | nome_da_equipe | player_match_op_passes | player_match_dribbles | player_match_clearances | player_match_forward_passes | player_match_np_xg_per_shot | player_match_counterpressions | ID_do_jogador | player_match_op_xa | player_match_op_xgchain_per_possession | player_match_minutos | player_match_pressioned_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 | ID_da_conta | 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 | nome_do_jogador | player_match_xa | match_id | player_match_passes_inside_box | player_match_possession | player_match_pressioned_action_fails | player_match_crosses | player_match_fouls_won | player_match_xgbuildup | player_match_backward_passes | player_match_unpressioned_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 | União Berlim | 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 |