数据分析案例-足球运动员分析

目录

加载数据

查看数据

数据详细

 ​缺值处理

 异常值处理

重复值处理

运动员身高和体重分布

 左脚右脚使用数量

 俱乐部球员评分分析

 足球运动员数是否与出生日期相关

 身高与体重是否具有相关性


加载数据

#加载足球运动员数据
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('FullData.csv')

查看数据

#head() 显示前几行
player.head()

#tail()后几行
player.tail(6)
#sample 随机采样
player.sample()
#设置显示的列
pd.set_option('display.max_columns',10)
player.head()

数据详细

 缺值处理

查看数据的数据类型

player.info()

 

从上述示例可以看到总共17588行,但National_Position(国家队 位置) 是1075行,Club_Position (俱乐部位置)17587行。我们 知道有的足球运动员是没有进入国家队的,所以National_Position 缺值是正常情况。但Club_Position缺值需要处理。

 删除Club_Position的缺失值

#查看缺失值
player['Club_Position'].isnull().any()
#获取缺失值数据
player[player['Club_Position'].isnull()]
#获取非缺失值数据
player =
player[player['Club_Position'].notnull()]
player.info()

 异常值处理

describe方法得到数据的描述性统计信息,比如max min, mean,std进行异常值分析

数据的描述性统计信息

player.describe()

 使用箱线图辅助查看异常值

player.plot(kind='box')
#获取评分 和盯人能力
player[['Rating','Marking']].plot(kind='box')
player['Rating'].describe()

重复值处理

查看是否有重复数据

player.duplicated().any()
# 重复值
# 没有重复值
# 如果有重复值,查看重复的数据是什么,根据
duplicated得到布尔数据,将布尔数组传递给players,
得到重复值数据
# 设置keep参数,【first last False】
players[players.duplicated()]
# 如果想查看数据集中所有重复数据
players[players.duplicated(keep=False)]
# 假设存在重复值,删除重复值,可以通过keep设置删除的
方式,【first last False】
players.drop_duplicates(inplace=True)

运动员身高和体重分布

从查看数据结果可以看到运动员身高Height、体重Weight的数据后 都添加了相应的单位。要分析运动员身高和体重的分布,首先需要 将身高Height和Weight数据的单位去掉。

# 使用矢量化字符串方式处理
player['Height'] = player['Height'].str.replace('cm','')
player['Weight'] = player['Weight'].str.replace('kg','')
players.head()
players.info()
# 替换后,身高和体重仍然是Object类型,不是数值型,需要进一步的类型转换
players['Height'] = players['Height'].astype(np.int)
players['Weight'] = players['Weight'].astype(np.int)
players.info()
# 使用map和apply
def handle(m:str) ->int:return int(m.replace('cm',''))
players['Height'] =players['Height'].map(lambda item:int(item.replace('cm','')))
players['Weight'] =players['Weight'].map(lambda item:int(item.replace('kg','')))
players.head()
players.info()

 

身高、体重、评分分布 

players['Height'].describe()
# 使用直方图查看分布
plt.hist(players['Height'])
players['Height'].plot(kind='hist',bins=15)
players['Weight'].plot(kind='hist',bins=15)
players['Rating'].plot(kind='hist',bins=15)
# 使用核密度图查看数据分布
players['Height'].plot(kind='kde')
players['Weight'].plot(kind='kde')
players['Rating'].plot(kind='kde')

 左脚右脚使用数量

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

player['Preffered_Foot'].head(10)

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

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

g = player.groupby('Preffered_Foot')
s = g['Preffered_Foot'].count()
s.plot(kind='pie',autopct='%.2f')

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

# 上面的操作,其实就是针对Preffered_Foot分组,再统计每组的数量
player['Preffered_Foot'].value_counts().plot(kind='barh')

 俱乐部球员评分分析

从球员平均分角度分析,拥有top10评分能力俱乐部。

俱乐部球员的平均评分

group = player.groupby('Club')
group['Rating'].mean()

对俱乐部平均评分进行排序取前10

top10=group['Rating'].mean().sort_values(ascending=False).head(10)
#绘制条形图
top10.plot(kind='barh')

 对俱乐部人数大于30人的俱乐部,平均评分进行排序取前 10

#俱乐部人数大于20
group['Rating'].agg(['mean','count']).sort_values('mean',ascending=False).head(10).plot(kind='bar')
#俱乐部人数大于30
result =group['Rating'].agg(['mean','count']).sort_values('mean',ascending=False)
result[result['count']>30].head(10).plot(kind='bar')

国家球员的平均分前10,且国家人数大于20

group=player.groupby('Nationality')
result =group['Rating'].agg(['mean','count']).sort_values('mean',ascending=False)
result[result['count']>20].head(10).plot(kind='bar')

 足球运动员数是否与出生日期相关

获取足球运动员日期

#获取出生日期
player['Birth_Date']
#切分
t =player['Birth_Date'].str.split('/',expand=True)
# 对月份进行分析:根据月份来分组,统计每一个月对应球员数量,最后柱状图表示
t[0].value_counts(ascending=False).plot(kind='bar')
t[1].value_counts(ascending=False).plot(kind='bar')
t[2].value_counts(ascending=False).plot(kind='bar')

 身高与体重是否具有相关性

# 通过散点图查看变量之间关系:身高与体重
players.plot(kind='scatter',x='Height',y='Weight')
# # 身高和评分之间的关系
players.plot(kind='scatter',x='Height',y='Rating')
#使用相关系数描述身高和体重之间的关系
players['Height'].corr(players['Weight'])
players['Height'].corr(players['Rating'])

 与评分相关性强的指标有哪些?

#相关系数矩阵
players.corr()
#相关系数矩阵类型
type(players.corr())
players.corr()
['Rating'].sort_values(ascending=False)

 年龄与评分是否相关

# 散点图
players.plot(kind='scatter',x='Age',y='Rating')
# # 相关系数
players['Age'].corr(players['Rating'])
# cut将数据切分为离散区间表示,bins表示切分成几个区间
# 默认情况下,区间对应数值范围,通过labels设置区间标签内容
pd.cut(players['Age'],bins=4,labels=['少年队','青年队','成年队','老将队'])
# 根据年龄段来分组,统计每组年龄均值,用折线图描述年龄段和评分之间关系
players['Age2'] =pd.cut(players['Age'],bins=4,labels=['少年队','青年队','成年队','老队'])
players.groupby('Age2')
['Rating'].mean().plot('line',marker='o')
# bins设置区间个数,区间等分
# 还可以自定义区间范围
pd.cut(players['Age'],bins=[10,16,22,33,45],labels=['少年队','青年队','成年队','老将队'])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58668.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用算法预测世界杯?

预测2021欧洲世界杯 世界杯预测结果预测的原理是什么?周易算卦原理算命可以解决的问题善易者不卜 人工智能预测原理预测模型:逻辑回归算法可以预测的问题 可以单挑整个华尔街的算法现代足球 世界杯预测结果 预测2021年欧洲世界杯,也是一道考…

采用 Python 机器学习预测足球比赛结果

足球是世界上最火爆的运动之一,如何运用机器学习来预测足球比赛结果,是每一个足球爱好者所向往的! 本场 Chat 适合有 Python 基础的机器学习初学者,我们带你一起熟悉机器学习的开发流程,帮你快速建立起自己的英超比赛预测模型! 你将获取到如下内容: 人工智能在线建模平…

按键精灵移动端系列 - 按键精灵IOS版 之 网络已断开,请检查网络连接.解决方案.

由于很多网友对这种问题,不知道如何处理.因本人也曾遇到过这种情况.经过不懈努力终于解决了这个神奇的BUG.长话短说上操作流程.如果觉得给力,请三连 点赞. 收藏. 转发. 谢谢您的支持. ** 1 安装雷锋源: apt.abcydia.com 2安装好雷锋源, 搜索: conditionalwifi 更新到最新版 …

按键精灵助手无法连接模拟器解决方案【适用任何模拟器】

找到按键精灵安装地址 D:\ProgramData\按键精灵\按键精灵手机助手\android 找到木木安装地址,并搜索adb.exe,未找到 但是在D:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin找到 adb_server.exe 以及另外两个.dll 复制着三个文件到按键精灵上述文件夹&#…

国行版苹果 ios 按键精灵无法联网问题处理

国行版苹果手机安装按键精灵后无法联网的问题: 操作步骤: (1)自行把苹果手机进行越狱,找到并打开越狱商店“Cydia” ,其他商店同理,按照如下图步骤添加 “雷锋源”,源地址&#xff…

网易mumu显示无法连接服务器,网易MuMu无法连接网络_网易MuMu如何实现多开

网易MuMu是由网易全方面打造的一种非常具有精品特色的游戏服务平台,这款游戏服务平台在下载安装之后可以直接运行电脑上的各种不同游戏和应用程序,同时它的兼容性是比较强的,有着非常流畅的操作过程,还可以通过智能辅助等优秀特色…

网易mumu模拟器adb连接配置

一、 网易mumu模拟器下载 二、安装模拟器到本机指定目录 1、例如:D:\Program Files\MuMu 2、adb文配置相关文件位于:D:\Program Files\MuMu\emulator\nemu\vms\myandrovm_vbox86下,如下图所示: 3、打开myandrovm_vbox86.nemu文件…

uni-app 连接不上夜神模拟器

uni-app 连接不上夜神模拟器 第一步打开运行设置 设置端口号 第二步通过cmd命令去连接模拟器 我这利用的是HX 找到:HBuilderX.3.1.17.20210608.full\HBuilderX\plugins\launcher\tools\adbs 直接cmd 执行下面两个命令 adb connect 127.0.0.1:62001 adb devices…

夜神模拟器无法连接网络的解决办法

我们经常会在电脑上安装安卓模拟器来玩一些手机游戏或者运行手机软件,但是有时候可能由于网络不好等原因导致模拟器连接不上网络。比如夜神模拟器无法连接网络怎么办?下面就来看看解决的办法。 夜神模拟器无法连接网络怎么办: 1、同时按下“w…

按键精灵手机助手如何连接安卓版按键精灵如何连接手机助手

通过上述讲解过的按键精灵如何下载文章得知,按键精灵手机版分为两个版本,分别为安卓版和IOS版,都是需要连接在按键精灵手机助手运行,按键精灵手机助手则必须在电脑上安装运行。好的,下面我们就来逐步讲解一下,手机版按键精灵如何使用。 首先,我们打开已经安装完成的按键…

天天模拟器显示获取服务器失败,天天模拟器无法联网怎么办-天天模拟器不能上网的解决方法 - 河东软件园...

天天模拟器是目前最热门的安卓模拟器软件,这是国内自主研发的一款优秀模拟器,其采用了持OpenGL硬件加速技术,能够帮助用户稳定的运行各类安卓应用,,并且具备了应用多开,软件具备了操作简单、稳定流畅等诸多…

qq手机助手连接服务器失败是什么原因,按键精灵手机助手教程,按键精灵手机助手连不上手机解决方法...

下面是按键精灵手机助手教程,按键精灵手机助手连不上手机解决方法 一、打开已安装的软件并单击[新建脚本]以创建新的游戏脚本 二、单击[我的脚本]查看创建或下载的脚本 三、点击[移动连接]将您的移动电话与数据线连接,方便测试脚本 我们得到了根用户的许…

总是助手服务器失败怎么回事,《遇见逆水寒》连接服务器失败解决方法汇总 服务器连接失败问题原因...

导 读 遇见逆水寒连接服务器失败怎么回事,近期不少小伙伴都在反映遇见逆水寒助手连接服务器失败,一直登不上去是怎么回事,小编这就为大家分享下遇见逆水寒连接服务器失败解决方法。 遇见逆水寒连接服务器失败解决方法... 遇见逆水寒连接服务器…

遇见逆水寒最新服务器是哪个,遇见逆水寒连接服务器失败怎么回事_遇见逆水寒连接服务器失败解决办法_玩游戏网...

《遇见逆水寒》是《逆水寒》同版本的手游系列,也是拥有了很多的玩家,最近玩家在登录《遇见逆水寒》服务器的时候遇到了连接失败的情况,这是怎么回事呢?要如何解决呢?下面就和玩游网小编一起来了解一下! 《遇…

解决夜神模拟器连接不上问题

一般端口占用的问题比较多,常见的如酷狗音乐、杀毒软件,不建议同时使用;也可以采取如下方法解决。 一、5037端口号占用 1.输入下面的命令查询哪个占用了5037端口 netstat -ano | findstr "5037" 出现下面信息 TCP 127.0.0.…

天书奇谈怎么显示连接服务器,天书奇谈手游好玩吗 天书奇谈无法连接服务器怎么办...

天书奇谈手游好玩吗 天书奇谈无法连接服务器怎么办,小编为大家整理的是一篇关于天书奇谈手游好玩吗 天书奇谈无法连接服务器怎么办的文章,如果你对天书奇谈这款游戏也非常感兴趣的话或者在游戏中也遇到了这种情况,那么不妨来看看小编为大家整…

按键精灵手机助手连接安卓模拟器

按键精灵手机助手是一款脚本编写软件,能够帮助用户在电脑端编写应用于手机端的脚本程序,用户可以使用它在电脑上编写任意功能的脚本,比起在手机端编辑更加方便,编辑后可以在电脑端进行测试,只需要连接上手机就可以实时…

【1】天猫精灵开放实验平台实验—创建语音技能

天猫精灵开放实验平台—创建语音技能 基于 阿里云云开发平台 开发学习 https://workbench.aliyun.com/ 文章目录 天猫精灵开放实验平台—创建语音技能一、创建语音技能1、输入[天猫精灵开放平台首页](https://aligenie.com/)进入实验平台。2、点击“控制台”,跳转至…

android studio按键精灵,51模拟器怎么连接按键精灵 51安卓模拟器按键精灵连接教程...

51模拟器怎么连接按键精灵?有很多小伙伴在使用51安卓模拟器的时候,想要使用按键精灵,今天通过这篇文章给大家讲讲按键精灵连接方法,一起来了解一下吧! 51安卓模拟器使用教程》51模拟器怎么用 51安卓模拟器按键精灵连接…

MuMu模拟器网络连接异常如何处理?

网易MuMu模拟器是一款常见的安卓模拟器,但在使用过程中经常会出现网络异常的情况,这要如何处理?如果你也不清楚的话,不妨试试下面小编带来的解决办法。 解决方法: 1、查看系统目录,是否存在类似c:windowsyy…