【发布时间】:2020-03-27 14:53:33
【问题描述】:
数据框包含以进球结尾的所有球队财产。每行代表一个球事件,详细说明了涉及哪些球员、动作类型以及它在球场上发生的位置。
#sample df
pass_goal = pd.DataFrame({'match_id': [1107073,1107073,1107073,1409630,1409630,1409630,1509730,1509730,1509730,1509730],
'possession_number': [2,2,2,40,40,40,100,100,100,100],
'second': [10,15,20,250,260,270,300,310,320,330],
'action_name': ['pass', 'pass', 'goal','pass','pass','goal','pass','pass','pass','goal'],
'player_name': ['a','b','b','b','a','a','d','e','c','c',]})
所以我的问题是我想跟踪每次控球发生的不同序列/流程。我尝试过但失败的一种方法是按占有 ID 计算唯一玩家。
例如控球权 2 => 球员 a 传球给球员 b,球员 b 射门得分(我想将其定义为 ABG),另一个例子可能是控球权 40 => 球员 b 传球给球员 a,球员 a 射门得分(即使球员名字不同这也应该定义为和第一个相同的序列)
显然有很多更复杂的组合,比如涉及多个播放器的 ABCDAG,但我让示例 df 尽可能简单
不确定是否有这么简单的方法,但如果可以实现,我的首选输出是
Sequence Count
ABG 2
ABCG 1
【问题讨论】:
-
换句话说,你不在乎顺序或控球球员的出现次数?
标签: python pandas dataframe sequence