高手如何做数据分析?这11招是你应该具备的技能

菜鸟独白

用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招,加上前面的(18招,小白必看的数据分析招式|精选上篇),学会这些招数基本上可以算是入门数据分析了。

当然如果需要对数据分析进行系统的学习,还需要掌握很多其他的知识,如有不同见解,我在评论去等着你。

原文地址:http://blog.51cto.com/13460911/2128381

时间: 2024-10-31 19:22:02

高手如何做数据分析?这11招是你应该具备的技能的相关文章

为什么需要数据可视化,如何用图表讲故事?【做数据分析的必看】

我们为什么数要数据可视化,如何用图表讲故事?# 大家经常需要做数据可视化,然后用PPT来说服高层或者做各类决策,今天分享一些做PPT的技巧! 温馨提示:用派代APP看的派友,请在有WIFI的网络下观看,图多会打开比较慢哦~ 先看个数据可视化视频: -------------------------------------------华丽丽的分割线--------------------------------------------- 一.  图表在沟通中扮演重要的角色 1. 主要角色(图下)

《11招玩转网络安全》之第四招:low级别的DVWA SQL注入

以DVWA为例,进行手工注入,帮助读者了解注入原理和过程. 1.启动docker,并在终端中执行命令: docker ps -a docker start LocalDVWA docker ps 执行结果如图4-19所示. ? 图4-19  启动DVWA 2.在浏览器地址栏输入127.0.0.1后回车,浏览器打开了DVWA页面(DVWA在前面的章节中已建立完毕).先点击左侧栏的DVWA Security,将难度调整至Low级别.单击左侧栏的SQL Injection,进入SQL注入页面,如图4-

《11招玩转网络安全》之第五招:DVWA命令注入

首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮. ? 图5-1  Low级别的命令注入 这个就是最典型的命令注入接口.在文本框中输入一个IP地址,然后返回ping命令的结果,单击页面右下角的View Source按钮,查看页面的源码,如图5-2所示. ? 图5-2  Low级别命令注入源码 从图中可以看出,服务器对输入的参数没有做任何的检查,直接使用shell_exec里面执行了.使用者完全可以在IP后面构建任何命令进行注入.最简单的构

如何做数据分析自动化?

很多做数据统计小伙伴总避免不了使用Excel,尤其是专门做数据分析的,需要周期性的得出分析数据,即便可以做Excel模板,重复分析多了还是会让人感觉到很枯燥.我是Myb,在这里我告诉大家数据分析自动化是可以办到的.下面是自动化的方法. 一:简易数据分析自动化(发送xlsx文件到指定邮箱): 语言:Python(处理数据).SQL(数据库提取数据) 方法:用Python的pymysql模块连接数据库读取最新数据,用xlsxwriter模块制作excel,用smtp模块发送邮件给指定的人.如果加上定

项目开发流程,以及什么是数据分析平台,再者为什么要做数据分析平台,数据来源,数据处理流程

一:项目开发流程 1.项目调研 了解项目的初始需求,然后结合市场的技术,看一下能否完成 2.需求分析 明确一个项目到底需要做什么? 最终做出的是什么样子? 重要性:一个好的需求分析能够明确项目的后续发展主题方向 3.方案设计 概要设计: 项目结构,技术选型 详细设计: 按照模块设计 4.编码实现 具体实现 5.测试 功能测试:功能是否达到了需求 集成测试:模块之间的兼容性 压力测试:高并发,多用户下,系统是否可以运行 用户测试:根据用户的建议进行修改 6.上线 试运行阶段:新系统与老系统同时在线

创业公司做数据分析(五)微信分享追踪系统

??作为系列文章的第五篇,本文重点探讨数据采集层中的微信分享追踪系统.微信分享,早已成为移动互联网运营的主要方向之一,以Web H5页面(下面称之为微信海报)为载体,利用微信庞大的好友关系进行传播,实现宣传.拉新等营销目的.以下图为例,假设有一个海报被分享到了微信中,用户A与B首先看到了这个海报,浏览后又分享给了自己的好友,用户C看到了A分享的海报,浏览后继续分享给了自己的好友.这便形成了一个简单的传播链,其中蕴含了两种数据: 行为,指的是用户对微信海报的操作,比如打开.分享. 关系,指的是在海

offer选择:是做软件开发还是做数据分析?

题目:最近有两个offer,A是某取款机公司的软件开发岗,主要是做.NET,B是在一个小公司做数据分析.背景:A公司是合资,在北京,不算大,因为取款机系统不必要经常更新,所以工作相对稳定,B公司在数据分析也属于初级阶段,项目经理具有8年的数据分析经验,数据分析是时下比较热门的职业,自己也比较感兴趣.纠结点:A的工作不是很感兴趣,而且一般都说做软开的都要转行管理,我对管理也不感兴趣,工资在北京来说不算高,1W吧,但是工作一年后会比较稳定,有熟人在. B公司的数据分析我比较感兴趣,但是因为这是新兴的

用python调用R做数据分析-准备工作

0.R的介绍 R是自由软件,不带任何担保,在某些条件下你可以将其自由散布,用'license()'或'licence()'来看散布的详细条件. R是个合作计划,有许多人为之做出了贡献,用'contributors()'来看合作者的详细情况,用'citation()'会告诉你如何在出版物中正确地引用R或R程序包,用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或用'help.start()'通过HTML浏览器来看帮助文件. 用'q()'退出R. demo(graphics

创业公司做数据分析(转载)

最近看到这个系列觉得不错,想转一下. 不管是小公司,还是大公司里面的不跟传统IT混的分析团队(就是我..),都可以借鉴. 创业公司做数据分析(一)开篇 创业公司做数据分析(二)运营数据系统 创业公司做数据分析(三)用户行为数据采集系统 创业公司做数据分析(四)ELK日志系统 创业公司做数据分析(五)微信分享追踪系统 创业公司做数据分析(六)数据仓库的建设 另外总结下最近的“工具栈” 讲故事:PPT / Keynote 理思路:MindNode / Axure / Sketch 展现层:Table