tabliea Prepare挑战 2020/w19, 足球队员和阵型
原文:https://preppindata.blogspot.com/2020/05/2020-week-19.html
困难
我发现做数据分析的第一步数据整理阶段,最重要的是弄明白要分析的数据的意思,包括:
- 每个表的意义和表之间的关联
- 表的每个字段的意思。
- 这份数据的背景。比如足球比赛,需要知道基础背景知识。可以通过网络查询,但如果之前不了解,可能会产生理解错误。
另外因为这些挑战都是英文的,也带来了一些理解上的困难。
挑战:
本次挑战分为2块。
第一块,利用一个表的数据,分析不同队形对抗下,利物浦和它的对手的各自得分/各自平均得分。
只需要几步即可完成。关键一步就是以队形字段分组,然后进行分数的聚合计算。
第二块,利用3个表的数据,分析在不同的队形下,利物浦的球员的进球情况和在场时间。并分析一个队员
三个表:
- 上周的tableau prep流程
- 球员角色/位置表
- 球员全名和他喜好的位置。
第一步:
这样的连接以2个字段建立了关联。
第2步,对Player List表进行清理,把单一的字段拆分出,队员名称,和队员角色Position Type.
难点是,队员名称列的值比较混乱,有单一词,有混合2个词,
- First Name Last Name (Andy Lonergan),2个词
- Single Name (Adrián) 1个词。
- Split Surname (Virgil Van Dijk or Sepp van den Berg) 加上了姓的组合单词
方法,先按照空格拆分。然后:
[Player Name - Split 2] IF [Player Name - Split 2] = '' THEN [Player Name - Split 1] ELSE [Player Name - Split 2] END
[Player Name - Split 2] 改名 [Player Surname ] [Player Name - Split 2]+' '+[Player Name - Split 3]+' '+[Player Name - Split 4]
最后,删除无用字段。剩余:
- Player Surname
- Player Name
- Position Type -> 改名 Player Preferred Position
第3步:关联:
用Player Surname 关联PlayerName⚠️英文名字就是这样。
当关联后3个表组成了一个大表。我们就利用这个大表来回答下面的问题:
- How many times did each player play in each position?
- How many minutes did they play in each position?
- A player has a preferred type of position, how many times did they play not in that position type (Out of Position)?
通过这张大表522行数据,和筛选后保留的15个字段,我们可以知道每个球员每场比赛的上场情况。