题目链接: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只支持数字。