zoukankan      html  css  js  c++  java
  • tabliea Prepare挑战 2020/w19, 足球队员阵型分析

    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个字段,我们可以知道每个球员每场比赛的上场情况。

  • 相关阅读:
    CodeForces
    CodeForces
    Simple Robot Gym
    Gym
    Java课程03总结
    Java课程03总结
    判断字符串是否回文
    Java课程02总结
    有关二进制原码、反码、补码
    Java课程01总结
  • 原文地址:https://www.cnblogs.com/chentianwei/p/12963963.html
Copyright © 2011-2022 走看看