作者:奔跑的鳄鱼

阅读本文大概需要3分钟

用Python来玩转数据分析实在是太爽了,因为有强大的Pandas来处理数据非常方便,我个人对数据分析情有独钟,探索数据的秘密非常好玩!前段时间写过一篇小白学数据分析入门招式,但是进阶的部分上次没有来得及整理,今天分享给大家。

我们依然用比较有名的泰坦尼克数据集来做示例,通过对这个数据集的处理,来快速上手数据分析的常见招式和基本手法,让初学者可以快速上手数据分析!

要点:

  • 数据的字符处理

  • 数据的过滤

  • 数据的分组

  • 数据的透视表

1.数据集的字符处理

第一招:对列的处理

我们看一下这个数据集里面的列都是英文的,不是很爽,我们把列的名字变成中文,这样看的舒服。

df.rename(columns={'Survived':'是否获救',

'Name':'姓名',

'Pclass':'船舱等级','Sex':'性别',

'Age':'年龄','SibSp':'兄弟姐妹数',

'Parch':'父母小孩数','Ticket':'船票',

'Fare':'船票费'})

这样处理完之后看一下是不是舒服很多:

第二招:对数据集里面的特定字符串进行替换

我们把性别里面的male替换为男,female替换为女

df['性别'].map({'female':'女','male':'男'})

第三招:对列的字符进行替换

我们看到船票比如A/5 21171 有两部分组成,一部分是英文字符,一部分是纯数字,如果我们只想保留数字部分,我们直接用str字符串进行处理

df['船票']=df['船票'].str.replace(r'[^\d+]','')

df.head(3)

pandas里面的字符串功能非常强大,除了replace之外,

还有contains,split,match,findall,endswith等等,这招在清洗数据的非常有用。

2.数据集的过滤

我们在分析数据的时候经常要对数据内容进行过滤,或者是部分提取。

第四招:用逻辑表达式组合过滤

提取性别是女孩并且年龄在10岁以下的

df[(df['性别']=='女')&(df['年龄']<=10)]

df.head(3)

第五招:巧用不等于

提取非3等舱,并且获救乘客信息

df[(df['是否获救']==1)&(df['船舱等级']!=3)]

第六招:也可以用query函数

df.query('船舱等级==[1,2]')

3.数据的分类

我们有的时候需要对数据进行多维度的细分和统计,有下面几招:

第七招:用where函数

第一种比较简单,用where

比如我们认为比如我们认为 年龄在18以下都是未成年,18岁以上成年的

df['是否成年']=np.where(df['年龄']>=18,'成年','未成年')

df.sample(3)

第八招:用万能的apply函数

apply可以处理比较复杂的逻辑,比如我们把年龄划分为几个阶段,小孩,青年,成人,老人。

看一下新增的列"年龄分类"是不是层次分类更精准!

4.数据的切片和透视表

第九招:神奇的groupby函数

我们喜欢对数据按照某种类别分组统计:

1).从性别的维度来对是否获救的人数进行统计

df.groupby('性别')['是否获救'].count()

性别

女    314

男    577

Name: 是否获救, dtype: int64

2).从船舱的等级来看是非获救

df.groupby('船舱等级')['是否获救'].count()

船舱等级

1    216

2    184

3    491

Name: 是否获救, dtype: int64

第十招:对数据进行轴切片分析

比如我们希望对是非获救和船舱等级这个两个轴进行深入切片分析,这样的伎俩在R语言里面也经常用到,这里pandas给我们提供了非常方便的agg函数

df.groupby(['是否获救','船舱等级'])['年龄'].agg(['size','max','min','mean'])

这样就很容易发现,获救里面的头等舱的人比较多,平均年龄相对未获救的要年轻不少.

第十一招:数据透视表

透视表在很多数据分析里面都有,比如常见的excel里面,pandas也提供了类似的功能.

根据一个或者多个键对数据进行聚合,我们用透视表也能做出类似上面的功能,比groupby还要强大.

df.pivot_table(columns=['性别'],

index=['是否获救','船舱等级'],

values='年龄',

aggfunc={'年龄':[np.mean,min,max]})

看完上面的11招,基本上可以算是入门数据分析了。

泰坦尼克 数据集_数据分析(一):11招入门数据分析相关推荐

  1. 泰坦尼克数据集预测分析_探索性数据分析—以泰坦尼克号数据集为例(第1部分)

    泰坦尼克数据集预测分析 Imagine your group of friends have decided to spend the vacations by travelling to an am ...

  2. 泰坦尼克数据集预测分析_探索性数据分析-泰坦尼克号数据集案例研究(第二部分)

    泰坦尼克数据集预测分析 Data is simply useless until you don't know what it's trying to tell you. 除非您不知道数据在试图告诉您 ...

  3. Titanic 泰坦尼克数据集 特征工程 机器学习建模

    以下内容为讲课时使用到的泰坦尼克数据集分析.建模过程,整体比较完整,分享出来,希望能帮助大家.部分内容由于版本问题,可能无法顺利运行. Table of Contents 1  经典又有趣的Titan ...

  4. ML之CatboostC:基于titanic泰坦尼克数据集利用catboost算法实现二分类

    ML之CatboostC:基于titanic泰坦尼克数据集利用catboost算法实现二分类 目录 基于titanic泰坦尼克数据集利用catboost算法实现二分类 设计思路 输出结果 核心代码 相 ...

  5. XAI之ALE:基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法进而实现模型可解释性案例

    XAI之ALE:基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法进而实现模型可解释性案例 目录 基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法 ...

  6. 《scikit-learn》《Kaggle》泰坦尼克数据集的试验

    下载泰坦尼克数据集,下载地址是:https://www.kaggle.com/c/titanic 这里如果是第一次使用kaggle的话,需要注册,注册时候有一些验证码的问题,可以参考https://w ...

  7. Dataset:titanic泰坦尼克号数据集/泰坦尼克数据集(是否获救二分类预测)的简介、下载、案例应用之详细攻略

    Dataset:titanic泰坦尼克号数据集/泰坦尼克数据集(是否获救二分类预测)的简介.下载.案例应用之详细攻略 目录 titanic(泰坦尼克号)数据集的简介 1.titanic数据集各字段描述 ...

  8. Tensorflow2.0泰坦尼克数据集的python分析以及离散化数据处理(含数据集下载地址)

    泰坦尼克数据集下载 训练集 测试集 导入需要的库 import matplotlib.pyplot as plt %matplotlib inline import numpy as np impor ...

  9. 机器学习实验1---决策树预测泰坦尼克数据集

    泰坦尼克号乘客数据集分析(ID3算法决策树) 泰坦尼克问题是一个比较经典的案例,此次实验的目的在于用决策树进行乘客的生存预测,数据集中的具体字段为: 数据 含义 PassengerId 乘客编号 Su ...

最新文章

  1. 置顶带滚动效果_高端大气的滚动条图表,你学会了还怕老板们不喜欢,不升职吗?...
  2. 聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
  3. 动物为什么会预知地震,地震后为什么会下雨?
  4. php 修改文件的权限_php怎么修改文件的权限?
  5. c语言ns流程图1 2,请各位大神帮个忙,画个NS流程图,,急!!!
  6. 怎样去掉桌面图标和字的蓝色阴影
  7. 03.结构化机器学习项目 W1.机器学习策略(1)
  8. web api 开发记录
  9. 基于队列的迷宫求解实现
  10. Dos命令将合并两个文本文件的内容
  11. 网络工程师常见面试题,1分钟就能看完
  12. ESXI安装网卡或HBA卡驱动
  13. 线性代数-向量空间-基向量定义
  14. spring容器的refresh方法分析
  15. 34岁IBM工程师电脑被抢身亡:以命相争背后,是无处安放的生活
  16. C#等语言、反射机制实现简单 智能语音人机交互(2)-- 皓月
  17. IOCTL 获取网络信息(Ethtool工具)
  18. 按字节编址,一字节等于多少比特?
  19. 自然语言处理系列二十二》词性标注》词性标注原理》词性介绍
  20. 单片机彩灯移动实验_单片机动态控制64个彩灯实验报告

热门文章

  1. java 类对象_Java中的对象和类是什么?
  2. 通过官方查看springCloud,springBoot版本对应关系
  3. php学校成员,php访问成员变量和成员方法
  4. jenkins html编辑,Jenkins HTML Publisher插件:Jenkins 1.643没有外部链接
  5. verilog异步复位jk触发器_以不变应万变的异步FIFO面试宝典(二)
  6. java tdd测试驱动开发_测试驱动开发TDD(test drive development)
  7. python移动文件中某个内容_如何在Python中移动文件
  8. html剧场座位设计图,如何设计剧院座位,21个细部案例
  9. JDBC开发之数据库连接池
  10. java 抽象类和接口2--什么时候用接口什么时候用抽象类