【Pandas实战】足球运动员数据分析
足球运动员数据分析
- 加载数据
- 查看数据
- 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
的数据后都添加了相应的单位。
要分析运动员身高和体重的分布,首先需要将身高 Height
和 Weight
数据的单位去掉。
去掉 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实战】足球运动员数据分析相关推荐
- pandas实战教学电子书上线啦
『运筹OR帷幄』原创 作者:周岩 JX 编者按 运筹OR帷幄"pandas实战教程"电子书正式上线啦!如今的互联网时代,数据成为了一座巨大的金矿.掌握数据的获取.处理和分析已经成为 ...
- ML之FE:pandas库中数据分析利器之groupby分组函数、agg聚合函数、同时使用groupby与agg函数组合案例之详细攻略
ML之FE:pandas库中数据分析利器之groupby分组函数.agg聚合函数.同时使用groupby与agg函数组合案例之详细攻略 目录 pandas库中数据分析利器之groupby分组函数.ag ...
- 2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战
2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战
- 01、python数据分析与机器学习实战——python数据分析处理库-Pandas
pandas介绍 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. panda ...
- python pandas 实战 百度音乐歌单 数据分析
是<Python 网络爬虫实战与机器学习应用>12章的例子,地址在 https://yuedu.baidu.com/ebook/8cd608073868011ca300a6c30c2259 ...
- 【学习笔记】《深入浅出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剧组表格道具: ...
- python数据分析实战-Python数据分析案例实战(慕课版)
基本信息 书名:Python数据分析案例实战(慕课版) :59.80元 作者:王浩,袁琴,张明慧 著 出版社:人民邮电出版社 出版日期:2020_06_01 ISBN:9787115520845 字数 ...
- 多场景业务实战-游戏数据分析
游戏数据分析 学习目标 知道游戏行业关键数据指标 掌握ARPU, ARPPU等指标的计算方法 一.游戏行业关键数据指标 1.1 运营数据 激活数据 总激活码发放量.总激活量.总登录账号数 激活率.激活 ...
- pandas dataframe column_Python数据分析——Pandas 教程(下)
Python数据分析--Pandas 教程(上) 上节,我们讲了 Pandas 基本的数据加载与检索,这节我们讲讲如何进行数据比较. Pandas系列对象 在 Pandas 中我们获取指定列的数据有多 ...
最新文章
- 薛其坤院士对话马斯克:下一个颠覆性创新是什么?
- 怎样推断一棵二叉树是全然二叉树
- 在电商运营中与客户建立信任的4种方法
- ngrx注入到应用类构造函数里的store变量
- ArcGIS实验教程——实验二十五:大型商场选址经典案例
- 剑指offer之求1+2+...+n
- Springboot/Cloud集成Sentinel进阶实战
- Python二级笔记(7)
- 网络软文发布软件_星浪中合网软文写出爆款汽车营销软文的特点是什么?
- script中的event和for的意思
- SCCM 2012系列14 操作系统播发③
- [py][mx]django分页第三方模块django-pure-pagination
- CentOS 7 设置 DNS
- 从架构到代码:软件开发的七个新趋势 | 凌云时刻
- 视频:Microsoft PDC 09,算法及数据结构内容及其他
- 【渝粤教育】广东开放大学 商业银行业务与经营 形成性考核 (32)
- ensp VRRP配置2
- 02-----音频通道数、采样频率、采样位数、采样个数(样本数)的概念及计算一帧音频的大小、每秒播放的音频字节大小、一帧的播放时长、音频重采样
- Scala:par并行集合计算(fold、aggregate)结果与cpu内核线程的关系
- 从周易六十四卦看软件架构真好懂!女朋友这下不用担心我的学习了~【程序员编程】
热门文章
- mysql eav设计模型_Magento 2数据库EAV模型结构
- 两台计算机都使用远程桌面,远程桌面设置及使用
- windows下气象grib/grib2数据转Tiff格式输出
- R语言 coalesce 函数
- 学习笔记之——DCDC降压芯片基本原理及选型主要参数介绍
- [Java]Java文件读写
- Gbase XDM API接口--打开xdm连接
- SQL 实验项目3_1-数据更新
- 大连埃森哲软件测试招聘,【埃森哲软件测试员面试】第一轮群面,六七个人左右-看准网...
- css中脱离标准流的三种方式,CSS——脱离标准流方法一:浮动