一、loc、iloc筛选器进行数据提取
- loc按照数据表的索引标签进行提取
数据表的标签分行标签和列标签,这里讨论的是二维数据表。除列标签筛选之外还可以使用boolean array进行筛选
提取id为1004的学生分数
提取id在1004之前的学生姓名和分数
根据bool类型的数组进行提取
- iloc按位置进行提取
按位置区域提取
按位置逐条提取数据
根据bool类型的数组进行提取
备注:从0.20.0开始,.ix索引器已弃用,所以就没有必要再介绍。继续使用会有警告提示,Warning: Starting in 0.20.0, the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers。弃用的原因,官方文档已经解释了,就是如果轴是基于整数的,只支持基于标签的访问,而不支持位置访问。因此,在这种情况下,显式地使用.iloc或.loc通常更好。However, when an axis is integer based, ONLY label based access and not positional access is supported. Thus, in such cases, it’s usually better to be explicit and use .iloc or .loc
二、按照条件进行数据提取
条件提取,无非是加入一些限制条件筛选数据,常用的就是与、或、非、大于、小于、等于
python中与&,或|,非!=,等于==,大于>,小于<
筛选score大于70,sex为男的数据,并降序排列
三、数据汇总
- Groupby分类汇总
按照性别进行分类,并求平均值
按照班级、性别分类,并求平均值
按班级、性别分类,求学生人数和平均分数
- Pivot_table数据透视
数据透视表本质上还是数据分类汇总,只不过相比groupby功能更强大一点。Excel的数据透视表功能,大家可能比较熟悉,可视化的界面很友好,其实python同样也可以实现数据透视表的功能。
比如我们还是要实现班级、性别分类,计算学生人数和分数的平均值,可以用下面的代码实现