太适合小白了!11招,高手都在用的数据分析招式!

news2024/11/7 22:49:52

阅读本文大概需要3分钟

菜鸟独白

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

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

2fd001a7210f36623108ae8d1328453d.jpeg

要点:

  • 数据的字符处理

  • 数据的过滤

  • 数据的分组

  • 数据的透视表

1.数据集的字符处理

第一招:对列的处理

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

a748373720c65886f581c18ad35d6398.jpeg

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

'Name':'姓名',

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

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

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

'Fare':'船票费'})

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

fd970f90769eae06a80ce3290a4de601.jpeg

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

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

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

1489692fbaa90990a8920e92fdf8ed7a.jpeg

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

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

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

df.head(3)

cb9455cccc6abcdeb99bb71b1d938ee3.jpeg

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

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

2.数据集的过滤

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

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

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

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

df.head(3)

7873fd57571a8d25f7fdef2f7ae49f65.jpeg

第五招:巧用不等于

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

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

ac3407e8c80eb1915c9be05550487b9a.jpeg

第六招:也可以用query函数

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

acc16a459aafe53bcbdef64dbb00954b.jpeg

3.数据的分类

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

第七招:用where函数

第一种比较简单,用where

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

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

df.sample(3)

903a04ff5c9a2bacf75449005b7ae09e.jpeg

第八招:用万能的apply函数

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

0e4335d00c8c6a377b38634db2a1b738.jpeg

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

21facb89a31038f9c765d16351437049.jpeg

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'])

f5642e3d41042ac26b0f5ab796ae78de.jpeg

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

第十一招:数据透视表

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

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

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

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

values='年龄',

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

21a8d52d3e5be0d07d8d59d68676c371.jpeg

ad456ee637b1861b6f9fe7ff12ecf1a6.gif

看完上面的11招,加上前面的(18招,小白必看的数据分析招式|精选上篇),学会这些招数基本上可以算是入门数据分析了。


 

 
推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
  • 1).卧槽!Pdf转Word用Python轻松搞定!

  • 2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

  • 3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 

  • 4).80行代码!用Python做一个哆来A梦分身 

  • 5).你必须掌握的20个python代码,短小精悍,用处无穷 

  • 6).30个Python奇淫技巧集 

  • 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 

  • 8).再见Python!我要学Go了!2500字深度分析!

  • 9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯基础练习合集九 1.回文词2.猜数字游戏的提示3.生成元4.环状序列5.刽子手游戏

目录 1.回文词 2.猜数字游戏的提示 3.生成元 4.环状序列 5.刽子手游戏 1.回文词 问题描述 输入一个字符串&#xff0c;判断它是否为回文串以及镜像串。输入字符串保证不含数字0。所谓回文串&#xff0c;就是反转以后和原串相同&#xff0c;如abba和madam。所有镜像串&…

docker 安装mysql5.7

拉取镜像 非常快 因为上一篇安装的是阿里云的centos7并且配置了阿里云的镜像加速 docker pull mysql:5.7 拉取成功检验 启动镜像 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASS…

软件测试行业未来职业规划是什么

随着软件工程活动的不断演化&#xff0c;软件测试岗位已经成为了软件开发中极其重要的一个环节&#xff0c;因而市场对于软件测试人才的需求也在日益扩大。相信不少想入行软件测试的小伙伴都难免会有这样的疑问&#xff0c;软件测试行业究竟怎么样&#xff1f;职业发展应该如何…

代码层面解决 The channelMax limit is reached. Try later.

该问题也是非常的严重&#xff0c;没有合适处理即导致消息丢失&#xff1b; 解决方案 设置连接工厂配置 CachingConnectionFactory connectionFactory new CachingConnectionFactory();connectionFactory.setChannelCheckoutTimeout(30000);解析 该报错根本原因是**”连接池…

2023年1月伊凡梳理如何快速安装git并且配置本地gitee账号权限方便拉代码

本文优雅草伊凡投稿一颗优雅草科技&#xff0c;欢迎其他朋友们来投稿&#xff08;一定会详细署名&#xff09;还是那个原因因为重装了因此git信息已经没有了&#xff0c;还是那个原因因为网上各类文章鱼龙混杂有好的有坏的&#xff0c;真正可用的其实还是不好找的&#xff0c;自…

延迟低于1.55毫秒,韩国ETRI研发远程实时触觉渲染系统

相比于AR/VR这种视觉模拟技术&#xff0c;体感、触觉模拟技术远不够成熟&#xff0c;依然受到体积、延迟、人体工学等方面限制。尽管如此&#xff0c;科研界不断探索多种体感模拟方案&#xff0c;以实现轻薄、灵活的穿戴式设计&#xff08;比如体感手套&#xff09;。近期&…

imutils简介

imutils对一系列OpenCV函数进行二次封装&#xff0c;执行基本任务&#xff0c;如平移、旋转、调整大小和骨架提取。 1.安装 这个包假设您已经安装了NumPy和OpenCV(如果您打算使用opencv2matplotlib函数&#xff0c;还安装了matplotlib)。 要安装库&#xff0c;只需使用以下命…

【OpenDDS开发指南V3.20】第九章:DCPS信息库

DCPS信息存储库选项 下表显示了DCPInfoRepo服务器的命令行选项: 表9-1 DCPS信息存储库选项 选项描述默认值-o file将DCPInfo对象的IOR写入指定文件repo.ior-NOBITS禁用发布内置主题发布内置主题-a address内置主题的侦听地址(发布内置主题时)随机端口-z启用详细传输日志记…

关系数据库概述

一、数据模型 一般地讲&#xff0c;数据模型是严格定义的一组概念的集合&#xff0c;通常由数据结构、数据操作和完整性约束三部分组成。 1.1 数据结构 数据结构描述数据库的组成对象以及对象之间的联系。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中&…

数据的存储【详解】【强烈推荐!!!】

数据的存储1. 数据类型介绍1.1 类型的基本归类2. 整型在内存中的存储2.1 原码、反码、补码2.2 大小端介绍2.3 练习3. 浮点型在内存中的存储3.1 一个例子3.2 浮点数存储规则1. 数据类型介绍 基本的内置类型、大小&#xff08;字节&#xff09;&#xff08;VS编译器&#xff09;…

bootstrap校验laydate起止日期联动失效

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 项目中用到bootstrapValidator&#xff0c;以及laydate&#xff08;by:贤心&#xff0c;插件效果美观&#xff09;。 项目表单中&#xff0c;有两处需要联动校验&#xff1a;开始日期&#xff0c;结束…

第04讲:HTTP操作之ElasticSearch高级查询

3.1.4、高级查询 Elasticsearch 提供了基于 JSON 提供完整的查询 DSL 来定义查询 定义数据 : # POST /student/_doc/1001 {"name":"zhangsan", "nickname":"zhangsan", "sex":"男","age":30 } # POST…

MySQL innodb引擎架构分析-Change Buffer

系列文章目录 1. MySQL innodb引擎架构分析-Buffer Pool 2. MySQL innodb引擎架构分析-Redo log 3. MySQL innodb引擎架构分析- Double Write Buffer 4.MySQL innodb引擎架构分析-Change Buffer 文章目录系列文章目录前言一、Change Buffer是什么&#xff1f;二、Change Buffe…

日本市场的Starday开始对智能家居下重手

自从21世纪以来&#xff0c;物联网就开始进入大众视野&#xff0c;因此作为物联网基础应用的智能家居已经成为人们对生活场景的一种涉嫌。因此在国外市场当中&#xff0c;跨境电商卖家们通过物联网的智慧家居的售卖&#xff0c;获得了大量的资金&#xff0c;可知“跨境沃土”大…

LeetCode54.螺旋矩阵 LeetCode59.螺旋矩阵Ⅱ | 螺旋矩阵问题

LeetCode刷题记录 文章目录LeetCode54.螺旋矩阵思路代码LeetCode59 螺旋矩阵Ⅱ思路代码LeetCode54.螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例一 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9…

Ubuntu-22 live-server版本安装完成后的配置

软件包管理工具 aptapt 用于取代 apt-get 、apt-cache &#xff0c;apt 将分散在 apt-get 、 apt-cache 的基础操作统一包含在一起apt 与 apt-get 、apt-cache 的对应关系操作aptapt-安装软件包sudo apt install <package>sudo apt-get install <package>卸载软件包…

AcWing 1015. 摘花生(DP)

一、问题描述 二、思路分析 这道题非常类似我们数字三角形那道题&#xff0c;大家如果这道题不会的话&#xff0c;可以先去看作者之前写的数字三角形问题的解法&#xff0c;然后再回来看这道题&#xff0c;或许就能有思路了。 传送门&#xff1a; DP母题——数字三角形 1、状…

Jetpack Compose中的列表

Cloumn 和 Row 如果是普通的不是特别长的列表&#xff0c;可以直接使用 Column 和 Row 组件&#xff0c;默认 Column 和 Row 组件是不支持滚动的&#xff0c;如果需要支持滚动可以在 Column 和 Row 组件上使用 Modifier.verticalScroll() 和Modifier.horizontalScroll() 修饰符…

就在今晚!如何在公益向善的路上坚持前行

&#xff08;本文阅读时间&#xff1a;3分钟&#xff09;如何从支教助学到慈善组织到社会创业&#xff1f;如何从内心深处找回向善的力量&#xff1f;如何在挣扎中坚定前行的方向&#xff1f;本期微软ATP Public 100 公益演讲特邀嘉宾还将为小伙伴们提供干货建议&#xff01;微…

JavaScript刷LeetCode拿offer-树的遍历

什么是树 一种分层数据的抽象模型。前端工作中常见的树包括&#xff1a;DOM树&#xff0c;级联选择&#xff0c;树形控件JS中没有树&#xff0c;可以用Object和Array构建树树的常用操作&#xff1a;深度/广度优先遍历&#xff0c;先中后序遍历 深度优先遍历 访问根节点对根节…