博客
关于我
【Python数据分析与处理 实训02】 ---2012欧洲杯信息分析(数据过滤与排序)
阅读量:317 次
发布时间:2019-03-04

本文共 2023 字,大约阅读时间需要 6 分钟。

【Python数据分析与处理 实训02】 —2012欧洲杯信息分析(数据过滤与排序)


探索2012欧洲杯信息

对于下面的数据集进行简单的一些数据的分析训练:

在这里插入图片描述

若需要源数据请私信~


读取数据

euro12 = pd.read_csv("G:\Projects\pycharmeProject\大数据比赛\泰迪智能科技\data\Euro2012.csv",sep=",",index_col=0)print(euro12.head(10))

通过给定的数据集,可以发现原始数据中的第一列为team,第一行为字段列名,可以在读取的时候加入index_col=0可将第一列在读取时看成行名,这样数据集就变成每一个队伍的欧洲杯数据,当然也可以不使用该参数,根据具体情况来看。

在这里插入图片描述


1.将数据写出成一个excel文件

euro12.to_excel('G:\Projects\pycharmeProject\大数据比赛\泰迪智能科技\data\Euro12.xls')

通过to_excel()可以将结果集保存为excel表格

在这里插入图片描述


2.只选取Goals这一列。

print(euro12['Goals'])

在这里插入图片描述


3.有多少球队参与了2012欧洲杯?

print(euro12['Team'].nunique())

之前统计的时候,我们都使用unique先进行去重操作,然后再进行取size,今天介绍一个新方法nunique()n代表了个数number,可以直接获取去重数据后的个数

在这里插入图片描述


4.该数据集中一共有多少列(columns)?

print(euro12.shape[1])

在这里插入图片描述


5.将数据集中的列Team, Yellow Cards和Red Cards单独存为一个名叫discipline的数据框。

discipline = euro12[['Team', 'Yellow Cards', 'Red Cards']]         # 方式一print(discipline)discipline = euro12.loc[:, ['Team', 'Yellow Cards', 'Red Cards']]  # 方式二print(discipline)

单独存为一个名叫discipline的数据框,简单的说就是提取所需要的有效列,可以通过切片的方式提取列后赋予一个新的变量来实行。

在这里插入图片描述


6.对数据框discipline按照先Red Cards再Yellow Cards进行排序。

print(discipline.sort_values(['Red Cards', 'Yellow Cards'], ascending=False))

排序操作,sort_values中参数传入要进行排序的列,当有多个列的时候使用[]包含起来

在这里插入图片描述


7.计算每个球队拿到的黄牌数的平均值。

print(discipline.groupby('Team').agg({   'Yellow Cards': 'sum'}).mean())

在这里插入图片描述


8.找到进球数Goals超过6的球队数据。

index1 = euro12['Goals'] > 6print(index1)print(euro12.loc[index1, :])   # 数据框的第四种索引方式:根据逻辑值进行访问

在这里插入图片描述

9. 选取以字母G开头的球队数据。

isG = euro12['Team'].str[0] == "G"print(isG)print(euro12.loc[isG,:])

在这里插入图片描述


10. 选取前7列。

print(euro12.iloc[:,0:7])

在这里插入图片描述

在这里插入图片描述


11. 选取除了最后3列之外的全部列。

print(euro12.iloc[:,:-3])

在这里插入图片描述

在这里插入图片描述


12.找到英格兰(England)、意大利(Italy)和俄罗斯(Russia)的射正率(Shooting Accuracy)。

# 方法一a = (euro12['Team'] == "England") | (euro12['Team'] == "Italy")  | (euro12['Team'] == "Russia")print(a)print(euro12.loc[a,"Shooting Accuracy"])

对于逻辑访问的应用 ,首先筛选出符合条件逻辑。然后再查询Shooting Accuracy。

在这里插入图片描述

# 方法二euro12.set_index('Team',inplace=True)print(euro12.loc[['England','Italy','Russia'],'Shooting Accuracy'])

我们还可以使用直接提取的方式,但是首先要做一个转变,就是将Team列设定为index,上面一种方法实际上在查询的时候,也是按照逻辑值为true的index去查询的,所以在这里,使用第二种方法,我们直接将Team列设为行索引去查询。

在这里插入图片描述


转载地址:http://oghq.baihongyu.com/

你可能感兴趣的文章
JavaScript上传下载文件
查看>>
android 头像选择,裁剪全套解决方案,你值得拥有!
查看>>
MapReduce
查看>>
Linux环境变量配置错误导致命令不能使用(杂谈)
查看>>
openstack安装(六)镜像glance服务安装
查看>>
openstack安装(九)网络服务的安装--控制节点
查看>>
shell编程(六)语言编码规范之(变量)
查看>>
vim杂谈(三)之配色方案
查看>>
vim杂谈(五)之vim不加载~/.vimrc
查看>>
Linux杂谈之终端快捷键
查看>>
vimscript学习笔记(二)预备知识
查看>>
vimscript学习笔记(三)信息打印
查看>>
awk杂谈之数组习题
查看>>
SSM项目中遇到Could not autowire. No beans of ‘XXX‘ type found.错误
查看>>
Linux网络属性配置详解
查看>>
Python(三十)类的理解
查看>>
Extjs布局详解
查看>>
Android数据库
查看>>
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
查看>>
keil左侧文件调整方法
查看>>