数据分析第三回-数据重构

数据重构

本文记录2022年3月组队学习-动手学数据分析教程知识点,采用kaggle上泰坦尼克的任务,实战数据分析全流程。
教程内容开源地址:
github: https://github.com/datawhalechina/hands-on-data-analysis
gitee:https://gitee.com/datawhalechina/hands-on-data-analysis

接下来要重点研究一下数据重构。本章我们着重研究一下SAC过程(split-apply-combine),对数据基于某一些规则将数据源拆成若干组,apply是对每一组独立地使用函数,combine指将每一组的结果组合成某一类数据结构.

3.1 准备

本次实验平台为: Jupyter NotebookNumpyPandas

# 导入基本库
import pandas as pd
3.2 分组模式及其对象
3.2.1 单一分组

分组操作在日常生活中使用极其广泛,例如:

依据 性别 分组,统计全国人口 寿命平均值

依据 班级 分组,筛选出组内 分数 的 平均值超过80分的班级

从上述的几个例子中不难看出,想要实现分组操作,必须明确三个要素:分组依据数据来源操作及其返回结果 。同时从充分性的角度来说,如果明确了这三方面,就能确定一个分组操作,从而分组代码的一般模式即:

dataframe.groupby(分组依据)[数据来源].使用操作

例如:

  • 统计泰坦尼克号男性与女性平均票价
# dataframe: result 分组依据 result["Sex"] 数据来源result.groupby(result["Sex"])["Fare"] 
# 具体操作 mean()
result.groupby(result["Sex"])["Fare"].mean()
  • 统计泰坦尼克号中男女的存活人数
# dataframe result 分组依据 result["Sex"] 数据来源["Survived"] 具体操作 sum()
result.groupby(result["Sex"])["Survived"].sum()
  • 统计客舱不同等级的存活人数
result.groupby(result["Pclass"])["Survived"].sum()
3.2.2 多维分组

前面提到的若干例子都是以单一维度进行分组的,比如根据性别,如果现在需要根据多个维度进行分组,该如何做?事实上,只需在 groupby 中传入相应列名构成的列表即可。
比如:

  • 统计在不同等级的票中的不同年龄的船票花费的平均值
# 分
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值