该存储库由 StatsBomb 为您提供,是一个 Python 包,允许用户使用 API 的登录凭据或来自我们的 GitHub 页面的免费数据轻松地将 StatsBomb 数据流式传输到 Python 中。 API 访问仅适用于付费客户
pip install statsbombpy
nose2 -v --pretty-assert
可以通过将名为SB_USERNAME
和SB_PASSWORD
环境变量设置为您的登录凭据来完成身份验证。
或者,如果您不想使用环境变量,所有函数都接受参数creds
来以{"user": "", "passwd": ""}
格式传递您的登录凭据
您可以通过将环境变量SB_CORES
设置为您想要使用的数字来指定运行sb.competition_events()
和sb.competition_frames()
函数时要使用的计算机核心数量。允许 statsbombpy 使用更多核心将加速这些功能。
如果您没有设置环境变量,我们将尝试检测您系统中的核心数量,并使用比该数量少 2 个的核心数量。如果我们无法检测到核心数量,我们将其设置为 4。
StatsBomb的开放数据无需身份验证即可访问。
StatsBomb 致力于公开分享新数据和研究,以增强对足球比赛的了解。我们希望积极鼓励各个层面的新研究和分析。因此,我们免费提供某些联赛的 StatsBomb 数据,供公众用于研究项目和对足球分析的真正兴趣。
StatsBomb 希望通过免费提供数据,我们能够扩大更广泛的足球分析社区,并吸引新的人才加入该行业。我们希望收集有关我们数据用户的一些基本个人信息。通过向我们提供您的电子邮件地址,这意味着我们会在提供更多数据、教程和研究时通知您。我们将根据我们的隐私政策和 GDPR 存储信息。
虽然我们热衷于共享数据并促进研究,但我们也敦促您对数据负责。请在 https://www.statsbomb.com/resource-centre 上注册您的详细信息并仔细阅读我们的用户协议。使用此存储库即表示您同意用户协议。如果您发布、共享或分发基于此数据的任何研究、分析或见解,请注明数据源为 StatsBomb 并使用我们的徽标。
from statsbombpy import sb
sb.competitions()
竞赛_id | season_id | 国家/地区名称 | 竞赛名称 | 竞赛_性别 | 季节名称 | 匹配更新 | 匹配可用 | |
---|---|---|---|---|---|---|---|---|
0 | 9 | 42 | 德国 | 1. 德甲联赛 | 男性 | 2019/2020 | 2019-12-29T07:47:45.981 | 2019-12-29T07:47:45.981 |
1 | 9 | 4 | 德国 | 1. 德甲联赛 | 男性 | 2018/2019 | 2019-12-16T23:09:16.168756 | 2019-12-16T23:09:16.168756 |
2 | 9 | 1 | 德国 | 1. 德甲联赛 | 男性 | 2017/2018 | 2019-12-16T23:09:16.168756 | 2019-12-16T23:09:16.168756 |
3 | 78 | 42 | 克罗地亚 | 1. 汉密尔顿 | 男性 | 2019/2020 | 2020-01-02T10:35:49.065 | 2020-01-02T10:35:49.065 |
4 | 10 | 42 | 德国 | 2. 德甲联赛 | 男性 | 2019/2020 | 2019-12-27T00:36:37.498 | 2019-12-27T00:36:37.498 |
sb.matches(competition_id=9, season_id=42)
比赛编号 | 比赛日期 | 开球 | 竞赛 | 季节 | 主队 | 客队 | 主场得分 | 客场得分 | 比赛状态 | 最后更新 | 比赛周 | 比赛阶段 | 体育场 | 裁判 | 家庭经理 | 离开经理 | 数据版本 | 镜头保真度版本 | xy_保真_版本 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 303299 | 2019-12-15 | 18:00:00.000 | 德国 - 1. 德甲联赛 | 2019/2020 | 沙尔克04 | 法兰克福 | 1 | 0 | 可用的 | 2019-12-17T09:50:17.558 | 15 | 常规赛 | 费尔廷斯竞技场 | F·兹瓦耶 | 大卫·瓦格纳 | 阿迪·许特 | 1.1.0 | 2 | 2 |
1 | 303223 | 2019-09-01 | 18:00:00.000 | 德国 - 1. 德甲联赛 | 2019/2020 | 法兰克福 | 杜塞尔多夫福图娜酒店 | 2 | 1 | 可用的 | 2019-12-16T23:09:16.168756 | 3 | 常规赛 | 德国商业银行竞技场 | F·维伦伯格 | 阿迪·许特 | 弗里德赫尔姆·冯克尔 | 1.1.0 | 2 | 2 |
2 | 303083 | 2019-12-15 | 15:30:00.000 | 德国 - 1. 德甲联赛 | 2019/2020 | 沃尔夫斯堡 | 门兴格拉德巴赫 | 2 | 1 | 可用的 | 2019-12-17T15:52:17.843 | 15 | 常规赛 | 大众汽车竞技场 | F·布莱奇 | 奥利弗·格拉斯纳 | 马可·罗斯 | 1.1.0 | 2 | 2 |
3 | 303266 | 2019-12-14 | 15:30:00.000 | 德国 - 1. 德甲联赛 | 2019/2020 | 柏林赫塔 | 弗莱堡 | 1 | 0 | 可用的 | 2019-12-17T17:43:18.285 | 15 | 常规赛 | 柏林奥林匹克体育场 | F·维伦伯格 | 于尔根·克林斯曼 | 克里斯蒂安·斯特赖克 | 1.1.0 | 2 | 2 |
4 | 303073 | 2019-12-21 | 15:30:00.000 | 德国 - 1. 德甲联赛 | 2019/2020 | 拜仁慕尼黑 | 沃尔夫斯堡 | 2 | 0 | 可用的 | 2019-12-23T18:02:36.454 | 17 号 | 常规赛 | 安联球场 | C·丁格特 | 汉斯·迪特·弗利克 | 奥利弗·格拉斯纳 | 1.1.0 | 2 | 2 |
sb.lineups(match_id=303299)["Eintracht Frankfurt"]
玩家id | 玩家姓名 | 玩家昵称 | 出生日期 | 玩家性别 | 玩家身高 | 玩家体重 | 球衣号码 | 国家 | |
---|---|---|---|---|---|---|---|---|---|
0 | 3204 | 阿尔马米·图埃 | 没有任何 | 1996年4月28日 | 男性 | 182.0 | 72.0 | 18 | 马里 |
1 | 5591 | 菲利普·科斯蒂奇 | 没有任何 | 1992年11月1日 | 男性 | 184.0 | 82.0 | 10 | 塞尔维亚 |
2 | 7713 | 奥比特·埃文·迪卡 | 埃文·恩迪卡 | 1999-08-20 | 男性 | 190.0 | 南 | 2 | 法国 |
3 | 8307 | 马丁·辛特雷格 | 没有任何 | 1992-09-07 | 男性 | 184.0 | 83.0 | 13 | 奥地利 |
4 | 8669 | 米贾特·加奇诺维奇 | 没有任何 | 1995-02-08 | 男性 | 175.0 | 66.0 | 11 | 塞尔维亚 |
查询事件的默认设置返回包含所有事件类型和事件属性的单个数据帧。
events = sb.events(match_id=303299)
球收据结果 | 球恢复进攻 | ball_recovery_recovery_failure | 块偏转 | 进位结束位置 | 空运许可 | 间隙_身体_部分 | 间隙_头 | 左脚间隙 | 间隙右脚 | 反压制 | 运球无触球 | 运球结果 | 运球超跑 | 决斗结果 | 决斗类型 | 期间 | 犯规优势 | 犯规卡 | 犯规_赢得_优势 | 犯规_赢得_防守 | 守门员身体部位 | 守门员结束位置 | 守门员_结果 | 守门员位置 | 守门员技术 | 守门员类型 | ID | 指数 | 链伤停赛 | 拦截结果 | 地点 | 比赛编号 | 分钟 | 离机 | 出去 | pass_aerial_won | 通过角度 | pass_assistance_shot_id | pass_body_part | 交叉口 | 回切 | 偏转通道 | 通行结束位置 | 传球助攻 | 通过高度 | 通过长度 | 通过结果 | 传球外摆 | 通行证接收者 | 传球助攻 | 直通 | 通行开关 | 通过技术 | 传球 | 通行证类型 | pass_xclaim | 时期 | 播放模式 | 玩家 | 位置 | 拥有 | 控球球队 | 相关事件 | 第二 | 空中射击获胜 | 射击主体部分 | 拍摄结束位置 | 第一次射击时间 | 镜头冻结帧 | shot_key_pass_id | 一对一射击 | 射击结果 | shot_statsbomb_xg | shot_statsbomb_xg2 | 射击技术 | 射击类型 | 替代结果 | 替换_替换 | 团队 | 时间戳 | 类型 | 压力下 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
500 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 3.498736 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 84828c06-41b5-44eb-aa92-1710bdb818ac | 1838年 | 南 | 南 | [50.1, 16.6] | 303299 | 47 | 南 | 南 | 南 | 2.720095 | 南 | 左脚 | 南 | 南 | 南 | [13.3,33.1] | 南 | 地面通行证 | 40.329765 | 南 | 南 | 弗雷德里克·伦诺 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 2 | 常规比赛 | 奥比特·埃文·迪卡 | 左中后 | 103 | 法兰克福 | [ae3094e3-faa3-4608-8284-d9b8cca77711,c1202f1c-0831-4e88-83b2-597f56f0c858] | 52 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 法兰克福 | 00:02:52.438 | 经过 | 真的 |
501 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 3.604236 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 9061cd20-513b-499f-b925-f1de5f241281 | 1840年 | 南 | 南 | [13.3,33.1] | 303299 | 47 | 南 | 南 | 南 | -0.153945 | 南 | 右脚 | 南 | 南 | 南 | [77.1,23.2] | 南 | 高通 | 64.563540 | 不完整 | 南 | 米贾特·加奇诺维奇 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 2 | 常规比赛 | 弗雷德里克·伦诺 | 守门员 | 103 | 法兰克福 | [8e6495a7-782a-4f1a-845f-3ec50d761a1e,ff758a12-1ba6-4dd4-8b2c-7d39aa7aed97] | 55 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 法兰克福 | 00:02:55.937 | 经过 | 南 |
502 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 2.101999 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 8e6495a7-782a-4f1a-845f-3ec50d761a1e | 1842年 | 南 | 南 | [43.0, 56.9] | 303299 | 47 | 南 | 南 | 南 | -0.703110 | 南 | 头 | 南 | 南 | 南 | [64.0, 39.1] | 南 | 高通 | 27.528894 | 南 | 南 | 阿明·哈里特 | 南 | 南 | 南 | 南 | 南 | 恢复 | 南 | 2 | 常规比赛 | 奥赞·穆罕默德·卡巴克 | 右中后卫 | 104 | 沙尔克04 | [9061cd20-513b-499f-b925-f1de5f241281,be6dfe7d-7596-4cc2-8cd9-8c17d064317e] | 59 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 沙尔克04 | 00:02:59.541 | 经过 | 南 |
503 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 1.187459 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 86431bc7-210a-4868-8e18-26ff38becefc | 1854年 | 南 | 南 | [65.9, 12.6] | 303299 | 48 | 南 | 南 | 南 | -0.730239 | 南 | 右脚 | 南 | 南 | 南 | [74.5, 4.9] | 南 | 地面通行证 | 11.543396 | 南 | 南 | 阿明·哈里特 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 2 | 常规比赛 | 苏阿特·塞尔达 | 左后卫中场 | 104 | 沙尔克04 | [761b4e65-8f64-464c-8153-6a98465208ba] | 7 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 沙尔克04 | 00:03:07.689 | 经过 | 南 |
504 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 0.766628 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 6e58c713-622c-4246-8243-e4162e487a1c | 1858年 | 南 | 南 | [79.1, 10.5] | 303299 | 48 | 南 | 南 | 南 | 1.254940 | 南 | 右脚 | 南 | 南 | 南 | [84.1, 25.8] | 南 | 地面通行证 | 16.096273 | 南 | 南 | 拉比·马通多 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 2 | 常规比赛 | 阿明·哈里特 | 中锋 攻击型中场 | 104 | 沙尔克04 | [b1960a76-d3ae-4ef3-a2cd-47eca8c25e0a,dd1575c0-a408-4177-944d-7e86d2f79181] | 11 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 沙尔克04 | 00:03:11.719 | 经过 | 真的 |
还可以为每个事件类型获取不同的数据帧和/或在其自己的列上具有不同的事件属性
sb.events(match_id=303299, split=True, flatten_attrs=False)["dribbles"]
ID | 指数 | 时期 | 时间戳 | 分钟 | 第二 | 类型 | 拥有 | 控球球队 | 播放模式 | 团队 | 玩家 | 位置 | 地点 | 期间 | 压力下 | 相关事件 | 运球 | 比赛编号 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | b190c01f-ad24-468c-8241-f955b91d996c | 131 | 1 | 00:02:08.032 | 2 | 8 | 运球 | 4 | 沙尔克04 | 常规比赛 | 沙尔克04 | 丹尼尔·卡利朱里 | 右翼 | [110.2, 62.9] | 0.000000 | 真的 | [60f822df-5747-4787-b0f9-45bf5217eb8a] | {'结果': {'id': 8, '名称': '完成'}} | 303299 |
1 | 4d773c92-f89f-491e-b3e0-3a1d2e863148 | 第399章 | 1 | 00:08:48.623 | 8 | 48 | 运球 | 18 | 沙尔克04 | 常规比赛 | 沙尔克04 | 阿明·哈里特 | 中锋 攻击型中场 | [88.9, 22.7] | 0.000000 | 真的 | [93d829df-eea7-416b-95aa-7593828cfade] | {'结果': {'id': 8, '名称': '完成'}} | 303299 |
2 | 8a78dce4-998a-4e81-902c-9f3957cebc9d | 第460章 | 1 | 00:13:30.202 | 13 | 30 | 运球 | 23 | 沙尔克04 | 常规比赛 | 沙尔克04 | 丹尼尔·卡利朱里 | 右翼 | [99.5, 68.1] | 0.007309 | 真的 | [772c5aae-e34e-4364-8a98-7caf7636c90b] | {'结果': {'id': 9, 'name': '不完整'}} | 303299 |
3 | e44d0122-2f2e-4771-820d-cc326a8b0379 | 第496章 | 1 | 00:14:10.135 | 14 | 10 | 运球 | 24 | 沙尔克04 | 从界外球 | 沙尔克04 | 苏阿特·塞尔达 | 左后卫中场 | [41.2, 31.7] | 0.000000 | 真的 | [4de4039f-7efc-461b-b7d6-27c32ec2cd2a] | {'结果': {'id': 8, '名称': '完成'}} | 303299 |
4 | 9555afbd-d838-42c9-8f80-be3cd09e4c4a | 第793章 | 1 | 00:20:18.409 | 20 | 18 | 运球 | 33 | 法兰克福 | 常规比赛 | 法兰克福 | 蒂莫西·钱德勒 | 右后卫 | [81.8, 75.7] | 0.000000 | 真的 | [a5c88cee-6319-4c25-91cd-8a028d8dbfbf] | {'结果': {'id': 9, 'name': '不完整'}} | 303299 |
可以查询给定比赛的所有事件并将其存储在单个数据帧中
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"]
ID | 指数 | 时期 | 时间戳 | 分钟 | 第二 | 类型 | 拥有 | 控球球队 | 播放模式 | 团队 | 玩家 | 位置 | 地点 | 期间 | 压力下 | 相关事件 | 运球 | 比赛编号 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | b190c01f-ad24-468c-8241-f955b91d996c | 131 | 1 | 00:02:08.032 | 2 | 8 | 运球 | 4 | 沙尔克04 | 常规比赛 | 沙尔克04 | 丹尼尔·卡利朱里 | 右翼 | [110.2, 62.9] | 0.000000 | 真的 | [60f822df-5747-4787-b0f9-45bf5217eb8a] | {'结果': {'id': 8, '名称': '完成'}} | 303299 |
1 | 4d773c92-f89f-491e-b3e0-3a1d2e863148 | 第399章 | 1 | 00:08:48.623 | 8 | 48 | 运球 | 18 | 沙尔克04 | 常规比赛 | 沙尔克04 | 阿明·哈里特 | 中锋 攻击型中场 | [88.9, 22.7] | 0.000000 | 真的 | [93d829df-eea7-416b-95aa-7593828cfade] | {'结果': {'id': 8, '名称': '完成'}} | 303299 |
2 | 8a78dce4-998a-4e81-902c-9f3957cebc9d | 第460章 | 1 | 00:13:30.202 | 13 | 30 | 运球 | 23 | 沙尔克04 | 常规比赛 | 沙尔克04 | 丹尼尔·卡利朱里 | 右翼 | [99.5, 68.1] | 0.007309 | 真的 | [772c5aae-e34e-4364-8a98-7caf7636c90b] | {'结果': {'id': 9, 'name': '不完整'}} | 303299 |
3 | e44d0122-2f2e-4771-820d-cc326a8b0379 | 第496章 | 1 | 00:14:10.135 | 14 | 10 | 运球 | 24 | 沙尔克04 | 从界外球 | 沙尔克04 | 苏阿特·塞尔达 | 左后卫中场 | [41.2, 31.7] | 0.000000 | 真的 | [4de4039f-7efc-461b-b7d6-27c32ec2cd2a] | {'结果': {'id': 8, '名称': '完成'}} | 303299 |
4 | 9555afbd-d838-42c9-8f80-be3cd09e4c4a | 第793章 | 1 | 00:20:18.409 | 20 | 18 | 运球 | 33 | 法兰克福 | 常规比赛 | 法兰克福 | 蒂莫西·钱德勒 | 右后卫 | [81.8, 75.7] | 0.000000 | 真的 | [a5c88cee-6319-4c25-91cd-8a028d8dbfbf] | {'结果': {'id': 9, 'name': '不完整'}} | 303299 |
如果您有权访问比赛的 360 度数据,则可以在events()
和competition_events()
函数中设置include_360_metrics=True
来检索 360 度指标,例如断线通过以及事件数据。
公开数据不包含360度指标。目前,此功能仅适用于订阅数据的客户。
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 | 不良行为卡 | ball_receipt_exceeds_distance | 空间中的球收据 | 球收据结果 | 球恢复进攻 | ball_recovery_recovery_failure | 块偏转 | 封锁进攻 | 块保存块 | 进位结束位置 | 空运许可 | 间隙_身体_部分 | 间隙_头 | 左脚间隙 | 许可_其他 | 间隙右脚 | 反压制 | 到最近防守者的距离 | 运球无触球 | 运球肉豆蔻 | 运球结果 | 运球超跑 | 决斗结果 | 决斗类型 | 期间 | 犯规优势 | 犯规卡 | 犯规进攻 | 犯规处罚 | 犯规类型 | 犯规_赢得_优势 | 犯规_赢得_防守 | 犯规赢得罚球 | 守门员身体部位 | 守门员结束位置 | 守门员在比赛中丢失 | 守门员_lost_out | 守门员_结果 | 守门员位置 | 守门员_punched_out | goalkeeper_shot_saved_off_target | 守门员射门保存到后点 | 守门员在比赛中成功 | 守门员技术 | 守门员类型 | half_start_late_video_start | ID | 指数 | 链伤停赛 | 拦截结果 | 断线通过 | 地点 | 分钟 | 错误控制_空中_赢得 | num_defenders_on_goal_side_of_actor | obv_反对_之后 | obv_反对_之前 | obv_对抗_net | obv_for_after | obv_for_之前 | obv_for_net | obv_total_net | 离机 | 出去 | pass_aerial_won | 通过角度 | pass_assistance_shot_id | pass_body_part | 交叉口 | 回切 | 偏转通道 | 通行结束位置 | 传球助攻 | 通过高度 | pass_inwinging | 通过长度 | 通过错误沟通 | 不通过触摸 | 通过结果 | 传球外摆 | 通行证接收者 | 传球助攻 | 直通 | 通行开关 | 通过技术 | 传球 | 通行证类型 | pass_xclaim | 时期 | 播放模式 | 玩家 | 玩家id | 玩家永久关闭 | 位置 | 拥有 | 控球球队 | 控球球队 ID | 相关事件 | 第二 | 空中射击获胜 | 射击主体部分 | 射击偏转 | 拍摄结束位置 | 第一次射击时间 | 镜头冻结帧 | shot_key_pass_id | 一对一射击 | 射门开球 | 射击结果 | 镜头重定向 | shot_saved_off_target | shot_saved_to_post | shot_statsbomb_xg | shot_statsbomb_xg2 | 射击技术 | 射击类型 | 替代结果 | 替换_替换 | 团队 | 时间戳 | 类型 | 压力下 | 可见对手 | 可见队友 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 0.0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 3479244f-8234-43c9-a389-4ce587062b48 | 1 | 南 | 南 | 南 | 南 | 0 | 南 | 南 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 1 | 常规比赛 | 南 | 南 | 南 | 南 | 1 | 皇家马德里 | 220 | 南 | 0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 皇家马德里 | 00:00:00.000 | 首发十一人 | 南 | 南 | 南 |
1 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 0.0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | c4f5a51b-741e-4920-ac32-02349b1f2755 | 2 | 南 | 南 | 南 | 南 | 0 | 南 | 南 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 1 | 常规比赛 | 南 | 南 | 南 | 南 | 1 | 皇家马德里 | 220 | 南 | 0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 凯尔特人 | 00:00:00.000 | 首发十一人 | 南 | 南 | 南 |
2 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 0.0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 27be67e7-fdb5-4db9-92b6-8f3214cecec4 | 1 | 南 | 南 | 南 | 南 | 0 | 南 | 南 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 1 | 常规比赛 | 南 | 南 | 南 | 南 | 1 | 尤文图斯 | 224 | 南 | 0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 尤文图斯 | 00:00:00.000 | 首发十一人 | 南 | 南 | 南 |
3 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 0.0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 819c381e-29c1-4f10-a6c3-acc3181cec14 | 2 | 南 | 南 | 南 | 南 | 0 | 南 | 南 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 1 | 常规比赛 | 南 | 南 | 南 | 南 | 1 | 尤文图斯 | 224 | 南 | 0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 巴黎圣日耳曼 | 00:00:00.000 | 首发十一人 | 南 | 南 | 南 |
4 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 0.0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | e6d42d87-c78a-4286-94fd-4095e9f7b16f | 1 | 南 | 南 | 南 | 南 | 0 | 南 | 南 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 没有任何 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 1 | 常规比赛 | 南 | 南 | 南 | 南 | 1 | 曼城 | 36 | 南 | 0 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 南 | 曼城 | 00:00:00.000 | 首发十一人 | 南 | 南 | 南 |
帧函数将返回原始 360 度冻结帧数据以及每个帧的可见区域。这是在玩家级别返回的,因此每个帧/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
演员 | 距离可见区域边缘的距离 | 事件UUID | 守门员 | 地点 | 比赛编号 | 队友 | 可见区域 | |
---|---|---|---|---|---|---|---|---|
0 | 错误的 | 5.183739 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | 错误的 | [79.14114105224532、12.646560364129726] | 3855869 | 错误的 | [50.8965834880119、80.0、55.8915648466696、6.76382112514142、80.0765213141343、1.48859955554994、113.056993108772、 80.0, 50.8965834880119, 80.0] |
1 | 错误的 | 7.784551 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | 错误的 | [80.68650097437124, 23.040779651892883] | 3855869 | 真的 | [50.8965834880119、80.0、55.8915648466696、6.76382112514142、80.0765213141343、1.48859955554994、113.056993108772、 80.0, 50.8965834880119, 80.0] |
2 | 错误的 | 8.873694 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | 错误的 | [80.20033992405365,24.695673759901382] | 3855869 | 错误的 | [50.8965834880119、80.0、55.8915648466696、6.76382112514142、80.0765213141343、1.48859955554994、113.056993108772、 80.0, 50.8965834880119, 80.0] |
3 | 错误的 | 9.738309 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | 错误的 | [82.43349155444821、32.24426347120625] | 3855869 | 错误的 | [50.8965834880119、80.0、55.8915648466696、6.76382112514142、80.0765213141343、1.48859955554994、113.056993108772、 80.0, 50.8965834880119, 80.0] |
4 | 错误的 | 11.049633 | 065b15cc-b550-48de-9a1e-a9608d8e6c6d | 错误的 | [81.320294294838、32.98015558905158] | 3855869 | 真的 | [50.8965834880119、80.0、55.8915648466696、6.76382112514142、80.0765213141343、1.48859955554994、113.056993108772、 80.0, 50.8965834880119, 80.0] |
对于客户,我们还提供球员比赛、球员赛季和球队赛季级别的汇总统计数据。
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_passes_into_box | 玩家比赛压力持续时间平均 | 玩家匹配交叉比率 | player_match_op_f3_forward_passes | 玩家匹配传球比率 | 团队 ID | 玩家匹配成功传球数 | player_match_op_xgbuildup_per_possession | player_match_op_xgchain | player_match_op_passes_into_box | player_match_deep_progressions | 球员比赛失误数 | player_match_counterstressed_action_fails | 玩家比赛通行证 | 玩家匹配密钥通行证 | 球员比赛剥夺 | 球员比赛罚球获胜 | 球员比赛通过球 | 团队名称 | 玩家匹配操作通行证 | 球员比赛运球次数 | 玩家比赛间隙 | 球员比赛前传传球数 | player_match_np_xg_per_shot | 玩家比赛反压力 | 玩家id | 玩家匹配操作xa | player_match_op_xgchain_per_possession | 球员比赛分钟数 | 球员比赛压力长球 | player_match_op_f3_sideways_passes | 球员比赛运球面 | 玩家匹配np_xg | 球员比赛目标 | player_match_op_key_passes | 玩家匹配空中比例 | 玩家比赛操作镜头 | 玩家匹配成功交叉 | player_match_shots_blocked | player_match_op_f3_passes | 球员比赛助攻 | 球员匹配长球比率 | 帐户 ID | 玩家匹配np镜头 | 玩家匹配挑战比例 | 球员比赛接触次数 | 球员比赛压力恢复 | 玩家匹配交叉进入盒子 | 球员比赛犯规 | player_match_sideways_passes | 玩家比赛天线 | player_match_touches_inside_box | Player_match_counterPressure_duration_total 玩家匹配反压力持续时间总计 | player_match_successful_aerials | 玩家匹配框交叉比率 | player_match_xgbuildup_per_possession | 球员比赛运球过去 | 玩家比赛压力持续时间总计 | player_match_op_xgbuildup | player_match_np_shots_on_target | 玩家比赛拦截 | player_match_counterstress_duration_avg | player_match_xgchain_per_possession | player_match_successful_long_balls | player_match_op_f3_backward_passes | 玩家匹配xgchain | 球员比赛铲断 | 球员比赛助攻 | 玩家匹配sp_xa | player_match_aggressive_actions | 玩家姓名 | 玩家匹配xa | 比赛编号 | player_match_passes_inside_box | 球员比赛控球权 | 玩家匹配压力行动失败 | 球员比赛交叉 | 球员比赛犯规获胜次数 | 玩家匹配xgbuildup | player_match_backward_passes | 球员比赛无压力长球 | 玩家匹配np目标 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 南 | 10 | 0.000000 | 0 | 南 | 南 | 0 | 0.842105 | 第870章 | 32 | 0.003191 | 0.105292 | 0 | 0 | 0 | 南 | 38 | 0 | 0 | 0 | 0 | 阿米尼亚·比勒费尔德 | 33 | 0 | 0 | 9 | 南 | 南 | 9194 | 0.000000 | 0.003191 | 94.21667 | 1 | 0 | 0 | 0.000000 | 0 | 0 | 南 | 0 | 0 | 0 | 0 | 0 | 0.600000 | 48 | 0 | 南 | 65 | 0 | 0 | 0 | 29 | 0 | 0 | 南 | 0 | 南 | 0.003191 | 0 | 南 | 0.105292 | 0 | 0 | 南 | 0.003191 | 6 | 0 | 0.105292 | 0 | 0 | 0.000000 | 0 | 斯特凡·奥尔特加 | 0.000000 | 3772072 | 0 | 0.491135 | 南 | 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 | 阿米尼亚·比勒费尔德 | 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 | 南 | 48 | 1 | 1.0 | 30 | 0 | 0 | 0 | 10 | 7 | 5 | 0.327541 | 2 | 南 | 0.003726 | 0 | 4.565010 | 0.081964 | 0 | 0 | 0.327541 | 0.007299 | 0 | 2 | 0.160582 | 1 | 0 | 0.000000 | 9 | 法比安·克洛斯 | 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 | 柏林联盟 | 60 | 0 | 2 | 4 | 南 | 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 | 南 | 2 | 0.0 | 0.017993 | 0 | 12.567875 | 0.773687 | 0 | 1 | 南 | 0.019504 | 8 | 0 | 0.838693 | 2 | 0 | 0.043227 | 11 | 克里斯托弗·特里梅尔 | 0.043227 | 3772072 | 0 | 0.508865 | 0.0 | 1 | 0 | 0.773687 | 13 | 13 | 0 |
3 | 3.0 | 4 | 0.013699 | 1 | 0.744943 | 南 | 1 | 0.777778 | 第870章 | 35 | 0.002196 | 0.090022 | 1 | 1 | 1 | 0.0 | 45 | 0 | 1 | 0 | 0 | 阿米尼亚·比勒费尔德 | 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 | 南 | 73 | 0 | 0 | 0 | 22 | 1 | 1 | 南 | 0 | 0.0 | 0.003043 | 0 | 2.234830 | 0.090022 | 0 | 0 | 南 | 0.003043 | 3 | 0 | 0.124760 | 0 | 0 | 0.000000 | 3 | 雅各布·劳尔森 | 0.000000 | 3772072 | 0 | 0.491135 | 0.0 | 0 | 1 | 0.124760 | 5 | 4 | 0 |
4 | 14.0 | 6 | 0.000 |