pandas入门练习题:这十套练习,教你如何使用Pandas做数据分析,(第二套)

题目链接:https://www.kesci.com/home/project/5f1815b594d484002d2ba46a

关于第二套题目主要就是iloc与loc的用法
前三个步骤就不写了

步骤4 只选取 Goals 这一列

euro['Goals']

如果说选取两列则是:

euro[['Goals','Team']]

类似于传递一个列表进去。

步骤5 有多少球队参与了2012欧洲杯?
根据这张数据表的不同,每一行就代表着一个球队的信息,也就是有多少行就有多少个球队,上一套题有一个查看多少列,这个是查看多少行。

euro.shape[0]

也可以使用count()方法,用于计算非NA值的个数

euro['Team'].count()

步骤6 该数据集中一共有多少列(columns)?
答案中给的是:euro12.info()
这是查看该数据表的信息,在刚加载数据表的时候可以先使用head()和info()方法来观察该表的结构以及数据类型等信息,但是在这里不推荐使用这种方法,上套题中也有过一样的题目

euro.shape[1]

步骤7 将数据集中的列Team, Yellow Cards和Red Cards单独存为一个名叫discipline的数据框
步骤7的答案上面我已经说过了
如果是多个列要显示,就将要显示出来的列组成一个列表传进去

discipline = euro[['Team', 'Yellow Cards', 'Red Cards']]
discipline

步骤8 对数据框discipline按照先Red Cards再Yellow Cards进行排序

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

按照一行排序,按照两行排序。ascending位False表示从大到小,默认位从小到大

步骤9 计算每个球队拿到的黄牌数的平均值

discipline['Yellow Cards'].mean()

步骤10 找到进球数Goals超过6的球队数据

euro.loc[euro['Goals']>6,:]

这里用到了loc,文章后续会有loc和iloc的用法详解

步骤11 选取以字母G开头的球队数据

euro12[euro12.Team.str.startswith('G')]

这里是官方的答案,我记得有一个是用%代替搜索的,忘记了具体细节,没有找到,如有知道的同学请留言谢谢。

步骤12 选取前7列

euro.iloc[:,:7]

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

euro12.loc[euro12.Team.isin(['England', 'Italy', 'Russia']), ['Team','Shooting Accuracy']]

iloc和loc用法详解。
其实这两者都是针对行上的标签索引,不同的是loc使用的字符串,而iloc使用的数字,这里面有两个参数,一个是要选择的行,一个是要选择的列。

euro.loc[1,'Goals']

表示选取第一行的第一列,因为索引都是从0开始的,所以是第二行的第二列,loc所用的就是字符串而iloc实现相同的功能则是

euro.iloc[1,1]

其实两者的内容都是loc[:,:] iloc[:,:]既可以传入一个参数去判断位置,同样可以传入两个参数进行切片,最大的不同就是loc支持数字与字符,iloc只支持数字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值