足球运动员数据分析

  • 加载数据
  • 查看数据
    • shape
    • head
    • tail
    • info
  • 缺值处理
    • notnull
    • duplicated
  • 运动员身高和体重分布
    • 去掉 Height 和 Weight 数据的单位
    • 修改身高和体重的类型 object --int
    • 查看运动员 Height 数值分布
    • 查看运动员 Weight 数值分布
  • 统计运动员左脚和右脚使用比例
  • 相关性分析

加载数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#支持中文
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
player = pd.read_csv('./data/FullData.csv')

查看数据

shape

查看数据形状规模大小

player.shape

head

查看数据前 5 行

player.head()

tail

查看后几行

player.tail()

info

查看每列数据的数据类型

player.info()

缺值处理

从上述示例可以看到总共 17588 行,但 National_Position(国家队位置)1075 行,Club_Position (俱乐部位置)17587 行。

我们知道有的足球运动员是没有进入国家队的,所以 National_Position 缺值是正常情况。但 Club_Position 缺值需要处理。

notnull

删除 Club_Position 的缺失值

player = player[player['Club_Position'].notnull()]
player.info()



duplicated

查看是否有重复数据

player.duplicated().any() #只要有重复,则返回true

运动员身高和体重分布

从查看数据结果可以看到运动员身高 Height、体重 Weight 的数据后都添加了相应的单位。

要分析运动员身高和体重的分布,首先需要将身高 HeightWeight 数据的单位去掉。

去掉 Height 和 Weight 数据的单位

player['Height'] = player['Height'].str.replace('cm','')
player['Weight'] = player['Weight'].str.replace('kg','')
player['Height'] = player['Height'].astype('int')
player['Weight'] = player['Weight'].astype('int')
display(player['Height'].head(),player['Weight'].head())

查看Height数据

player['Height']


查看Weight数据

player['Weight']


去掉身高和体重后面的单位



显示运动员数据信息

player.info()

修改身高和体重的类型 object --int

player['Height'] = player['Height'].astype('int')
player['Weight'] = player['Weight'].astype('int')

查看运动员 Height 数值分布

player['Height'].describe()

import matplotlib.pyplot as plt
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
# 使用直方图显示身高数值分布
player['Height'].plot(kind='hist')

查看运动员 Weight 数值分布

player['Weight'].describe()

player['Weight'].plot(kind='hist')

统计运动员左脚和右脚使用比例

查看足球运动员左脚右脚使用情况

player['Preffered_Foot'].head(10)


从上述示例可以看到,足球运动员踢球有使用左脚也有使用右脚。要统计使用左脚和右脚的数量,需要按 Preffered_Foot 进行分组,计算其 count() 值。我们可以使用饼状图来显示左脚右脚选手数量的差别。

使用饼状图来显示左脚右脚选手数量的差别

#按Preffered_Foot这列分组
player_g = player.groupby('Preffered_Foot')
player_c = player_g['Preffered_Foot'].count()
#使用饼状图显示
player_c.plot(kind='pie',autopct='%.2f')  # autopct显示比率
# player_c.plot(kind='pie')


按某列分组计算 count() 值可以直接使用 value_counts() 方法,示例如下:

player_c = player['Preffered_Foot'].value_counts()
player_c.name=''
player_c.plot(kind='pie',autopct='%.2f')

相关性分析

通过散点图查看变量之间关系。

分析足球运动员的身高和体重是否相关

#分析身高和体重的相关性
player.plot(kind='scatter',x='Height',y='Weight')


从上面示例可以看到,身高和体重有一定的相关性,身高越高体重越重。

分析足球运动员的身高和评分是否相关

player.plot(kind='scatter',x='Height',y='Rating') #分析身高和评分是否有关


从上面示例可以看到,身高和评分并没有一定的相关性。查看两个变量是否有相关性,可以通过 corr()方法,该方法返回两个变量的相关系数值,相关系数值越大表示这两个变量相关性越强。相关系数的最大值为 1,即获变量自己和自己的相关系数就是 1

通过相关系数查看两个变量是否相关

print('身高和身高相关系数:',player['Height'].corr(player['Height']))
print('身高和体重相关系统:',player['Height'].corr(player['Weight']))
print('身高和评分相关系统:',player['Height'].corr(player['Rating']))


分析对评分影响前 10 的变量

player.corr()['Rating']


在上述示例中,首先获取影响评分的相关系数值,再对其进行排序。按照某列排序需要调用 sort_values() 方法,在 sort_values() 方法中通过 ascending 参数指定是升序还是降序。 ascending 参数默认值为 True,表示升序排序,如果想降序需要将 ascending 参数设置为 False

#排序  sort_values
player.corr()['Rating'].sort_values(ascending=False).head(10)

感谢!努力!

加油啊!

【Pandas实战】足球运动员数据分析相关推荐

  1. pandas实战教学电子书上线啦

    『运筹OR帷幄』原创 作者:周岩 JX 编者按 运筹OR帷幄"pandas实战教程"电子书正式上线啦!如今的互联网时代,数据成为了一座巨大的金矿.掌握数据的获取.处理和分析已经成为 ...

  2. ML之FE:pandas库中数据分析利器之groupby分组函数、agg聚合函数、同时使用groupby与agg函数组合案例之详细攻略

    ML之FE:pandas库中数据分析利器之groupby分组函数.agg聚合函数.同时使用groupby与agg函数组合案例之详细攻略 目录 pandas库中数据分析利器之groupby分组函数.ag ...

  3. 2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战

    2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战

  4. 01、python数据分析与机器学习实战——python数据分析处理库-Pandas

    pandas介绍 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. panda ...

  5. python pandas 实战 百度音乐歌单 数据分析

    是<Python 网络爬虫实战与机器学习应用>12章的例子,地址在 https://yuedu.baidu.com/ebook/8cd608073868011ca300a6c30c2259 ...

  6. 【学习笔记】《深入浅出Pandas》第17章:Pandas实战案例

    文章目录 17.1 实战思想 17.1.1 链式方法 17.1.2 代码思路 17.1.3 分析方法 17.1.4 分析流程 17.1.5 分析工具 17.2 数据处理案例 17.2.1剧组表格道具: ...

  7. python数据分析实战-Python数据分析案例实战(慕课版)

    基本信息 书名:Python数据分析案例实战(慕课版) :59.80元 作者:王浩,袁琴,张明慧 著 出版社:人民邮电出版社 出版日期:2020_06_01 ISBN:9787115520845 字数 ...

  8. 多场景业务实战-游戏数据分析

    游戏数据分析 学习目标 知道游戏行业关键数据指标 掌握ARPU, ARPPU等指标的计算方法 一.游戏行业关键数据指标 1.1 运营数据 激活数据 总激活码发放量.总激活量.总登录账号数 激活率.激活 ...

  9. pandas dataframe column_Python数据分析——Pandas 教程(下)

    Python数据分析--Pandas 教程(上) 上节,我们讲了 Pandas 基本的数据加载与检索,这节我们讲讲如何进行数据比较. Pandas系列对象 在 Pandas 中我们获取指定列的数据有多 ...

最新文章

  1. 薛其坤院士对话马斯克:下一个颠覆性创新是什么?
  2. 怎样推断一棵二叉树是全然二叉树
  3. 在电商运营中与客户建立信任的4种方法
  4. ngrx注入到应用类构造函数里的store变量
  5. ArcGIS实验教程——实验二十五:大型商场选址经典案例
  6. 剑指offer之求1+2+...+n
  7. Springboot/Cloud集成Sentinel进阶实战
  8. Python二级笔记(7)
  9. 网络软文发布软件_星浪中合网软文写出爆款汽车营销软文的特点是什么?
  10. script中的event和for的意思
  11. SCCM 2012系列14 操作系统播发③
  12. [py][mx]django分页第三方模块django-pure-pagination
  13. CentOS 7 设置 DNS
  14. 从架构到代码:软件开发的七个新趋势 | 凌云时刻
  15. 视频:Microsoft PDC 09,算法及数据结构内容及其他
  16. 【渝粤教育】广东开放大学 商业银行业务与经营 形成性考核 (32)
  17. ensp VRRP配置2
  18. 02-----音频通道数、采样频率、采样位数、采样个数(样本数)的概念及计算一帧音频的大小、每秒播放的音频字节大小、一帧的播放时长、音频重采样
  19. Scala:par并行集合计算(fold、aggregate)结果与cpu内核线程的关系
  20. 从周易六十四卦看软件架构真好懂!女朋友这下不用担心我的学习了~【程序员编程】

热门文章

  1. mysql eav设计模型_Magento 2数据库EAV模型结构
  2. 两台计算机都使用远程桌面,远程桌面设置及使用
  3. windows下气象grib/grib2数据转Tiff格式输出
  4. R语言 coalesce 函数
  5. 学习笔记之——DCDC降压芯片基本原理及选型主要参数介绍
  6. [Java]Java文件读写
  7. Gbase XDM API接口--打开xdm连接
  8. SQL 实验项目3_1-数据更新
  9. 大连埃森哲软件测试招聘,【埃森哲软件测试员面试】第一轮群面,六七个人左右-看准网...
  10. css中脱离标准流的三种方式,CSS——脱离标准流方法一:浮动