数据分析神器Pandas:如何用1行Python代码挖掘数据?

2019 年 11 月 26 日

数据分析神器Pandas:如何用1行Python代码挖掘数据?


Pandas 是 Python 中处理数据的首选库,它使用起来很容易,非常灵活,能够处理不同类型和大小的数据,而且它有大量的函数,这让操作数据简直是小菜一碟。


在 30 秒内,完成你全部的标准数据分析,这就是用 pandas 进行数据分析产生的“奇迹”。


Pandas 基础之旅


用 Python 处理过数据的人大概对 pandas 不陌生。


如果想处理行或列排序的格式化数据,大多数情况下,你可以使用 pandas 处理。如果没安装 pandas,可以用你喜欢的命令终端安装,一定要用 pip 命令:


pip install pandas
复制代码


现在,让我们看看默认的 pandas 实现都可以做什么:



非常简洁,但也很平淡无奇,“method”这列去哪儿?


我们解释一下上面代码和输出的含义:


Pandas 的任何“数据帧”都有一个 describe()方法,这个方法会返回上面的输出。但请注意,这个方法的以上输出数据中,关于类别的变量漏掉了。在上面的例子中,输出信息里,“method”这一列被完全移除。


让我们看看是否能做得更好。


Pandas 剖析



这仅仅是剖析报告的开头部分


如果我告诉你,我仅用 3 行 Python 代码即可生成以下统计数据,你会感觉如何(如果不算 imports 语句的话,实际上只需要 1 行代码即可):


  • 核心信息:类型、唯一值、缺失值

  • 分位数统计:如最小值、Q1、中位数、Q3、最大值、范围、四分位数范围等

  • 描述性统计:如平均值、众数、标准差、求和、中位数绝对偏差、扰动系数、峰度、偏度等

  • 高频使用的数值

  • 直方图

  • 相关性:会突出显示高相关度变量、Spearman、Pearson和Kendall矩阵

  • 缺失值:矩阵、计数、热力图和缺失值树状图


(以上特征列表直接摘自Pandas Profiling GitHub页面


使用 Pandas Profiling 包,我们仅用 1 行代码就可以得到以上数据!在命令行终端只需使用 pip 即可安装 Pandas Profiling 包:


pip install pandas_profiling
复制代码


乍一看,经验丰富的数据分析师可能会嘲笑这是华而不实的,但是,它可以帮助你快速获得你拥有的数据概况:



看到了吗,正如我所说,1 行代码搞定!


你看到的第一部分内容是“概览”(请看上图),这部分内容会呈现给你一些非常高级的数据和变量统计,以及像变量高相关性和高偏态性等这类警告


但是它提供的信息远远不止这些。往下滑动,我们会发现这份输出报告包含多个部分。仅用图片显示这个 1 行代码的输出都是不大合适的,所以我制作了一张 GIF 图:



我强烈建议你自己来探索这个软件包里的特色——毕竟,这只有 1 行代码,而且你会在以后的数据分析中发现这个软件包真的很好用。


import pandas as pdimport pandas_profilingpd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/planets.csv').profile_report()
复制代码


更多类似的代码库


如果你喜欢使用这些易用的东西来改进你的 Python 工作流,可以看看我的一些最新文章


最后的思考


这篇文章真的很短小。我自己才刚刚发现 Pandas Profiling 这个库,觉得可以拿来分享!


原文链接:


Exploring your data with just 1 line of Python


2019 年 11 月 26 日 16:112841

评论

发布
暂无评论
发现更多内容

什么时候去面试

escray

centos7分区命令parted的用法(大于2T)

唯爱

LeetCode | 2. Reverse Integer 整数反转

Puran

Python C# 算法 LeetCode arts

缓存与存储的一致性策略:从 CPU 到分布式系统

伴鱼技术团队

缓存 系统设计 cpu 系统架构 架构模式

吉德热泵烘干机解放阳台,引领生活品质新风尚

infoq小陈

【译】5 个你需要知道的 JavaScript 小技巧

零和幺

Java 前端 技巧

Java 走过的创新25年

田晓旭

Java25周年

入门到放弃:理清前端技术概念

大伟

Java ecmascript 前端 Node

Flink Weekly | 每周社区动态更新-20200520

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

千万别学编译原理

池建强

编译原理

游戏夜读 | 如何管理公司?

game1night

普通二本,毕业三年,北漂之后,我是怎么成为程序猿的。

why技术

个人成长 程序人生 随笔杂谈 北漂

坚持ARTS-week2

王钰淇

ARTS 打卡计划

微信小程序开发 | 如何在小程序中使用自定义 icon 图标

彭宏豪95

微信小程序 学习 编程 前端 IT

【Sentry搭建之 docker-compose】

卓丁

DevOps Docker-compose CI/CD sentry

ARTS 01 - 技术人的理想主义

jerry.mei

算法 Vue 练习 ARTS 打卡计划 ARTS活动

程序员都惧怕的故障域

松花皮蛋me

Java 问题处理

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

柠檬橙

golang 后台开发

工作的创新能力

夜来妖

产品 重新理解创业 产品经理 创新突破 创新

深入理解JVM内存管理 - 堆和栈

NORTH

堆栈 深入理解JVM VM参数

手撕编译原理:汇编语言不会编

贾献华

有的线程它死了,于是它变成一道面试题。

why技术

源码分析 jdk源码 线程池 Java 面试

Java 最新的JDK14.0.1调试成功

程李文华

http 四种鉴权方式简介,未来可能还会出现第 5 种鉴权方式:全息生物验证

李艺

HTTP

Shell 文本处理一则

wong

Shell sed grep

重学 Java 设计模式:实战适配器模式

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

【大厂面试02期】Redis过期key是怎么样清理的?

NotFound9

Java 数据库 redis 架构 后端

Docker 容器优雅终止方案

米开朗基杨

Docker

Flink 1.10 SQL、HiveCatalog 与事件时间整合示例

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

这场大数据+AI Meetup,一次性安排了大数据当下热门话题

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

奈学教育:Hadoop源码编译全流程分享

奈学教育

数据分析神器Pandas:如何用1行Python代码挖掘数据?-InfoQ