分享4款Python 自动数据分析神器

目录
  • 1.PandasGUI
  • 2.PandasProfiling
  • 3.Sweetviz
  • 4.dtale
    • 4.1数据操作(Actions)
    • 4.2数据可视化(Visualize)
    • 4.3高亮显示(Highlight)

前言:

我们做数据分析,在第一次拿到数据集的时候,一般会用统计学或可视化方法来了解原始数据。比如了解列数、行数、取值分布、缺失值、列之间的相关关系等等,这个过程我们叫做 EDA(Exploratory Data Analysis,探索性数据分析)。

pandas一行行写代码,那太痛苦了!目前已经有很多EDA工具可以自动产出基础的统计数据和图表,能为我们节省大量时间。

在本文,我给大家分享 4 款常用的EDA工具,它们可以自动产出统计数据和图表,为我们节省大量时间。

正式介绍这些工具之前,先来加载数据集

import numpy as np
import pandas as pd
iris = pd.read_csv('iris.csv')
iris

iris是下面用到的数据集,是一个150行 * 4列的 DataFrame

1. PandasGUI

PandasGUI提供数据预览、筛选、统计、多种图表展示以及数据转换。

# 安装
# pip install pandasgui
from pandasgui import show

show(iris)

PandasGUI操作界面

PandasGUI更侧重数据展示,提供了10多种图表,通过可视的方式配置。

但数据统计做的比较简单,没有提供缺失值、相关系数等指标,数据转换部分也只开放了一小部分接口。

2. Pandas Profiling

Pandas Profiling 提供了整体数据概况、每列的详情、列之间的关图、列之间的相关系数。

# 安装:
# pip install -U pandas-profiling
# jupyter nbextension enable --py widgetsnbextension

from pandas_profiling import ProfileReport

profile = ProfileReport(iris, title='iris Pandas Profiling Report', explorative=True)
profile

Pandas Profiling操作界面

每列的详情包括:缺失值统计、去重计数、最值、平均值等统计指标和取值分布的柱状图。

列之间的相关系数支持Spearman、Pearson、Kendall 和 Phik 4 种相关系数算法。

PandasGUI 相反,Pandas Profiling没有丰富的图表,但提供了非常多的统计指标以及相关系数。

3. Sweetviz

SweetvizPandas Profiling类似,提供了每列详细的统计指标、取值分布、缺失值统计以及列之间的相关系数。

# 安装
# pip install sweetviz

import sweetviz as sv

sv_report = sv.analyze(iris)
sv_report.show_html()

Sweetviz操作界面

Sweetviz还有有一个非常好的特性是支持不同数据集的对比,如:训练数据集和测试数据集的对比。

Sweetviz数据集对比

蓝色和橙色代表不同的数据集,通过对比可以清晰发现数据集之前的差异。

4. dtale

最后重磅介绍dtale,它不仅提供丰富图表展示数据,还提供了很多交互式的接口,对数据进行操作、转换。

dtale操作界面

dtale的功能主要分为三部分:数据操作、数据可视化、高亮显示。

4.1 数据操作(Actions)

dtalepandas的函数包装成可视化接口,可以让我们通过图形界面方式来操作数据。

# pip install dtale

import dtale

d = dtale.show(iris)
d.open_browser()

Actions

右半部分图是左边图的中文翻译,用的是 Chrome 自动翻译,有些不是很准确。

举一个数据操作的例子:

Summarize Data

上图是Actions菜单中Summarize Data的功能,它提供了对数据集汇总操作的接口。

上图我们选择按照species列分组,计算sepal_width列的平均值,同时可以看到左下角dtale已经自动为该操作生成了pandas代码。

4.2 数据可视化(Visualize)

提供比较丰富的图表,对每列数据概况、重复行、缺失值、相关系数进行统计和展示。

Visualize

举一个数据可视化的例子:

Describe

上图是Visualize菜单中Describe的功能,它可以统计每列的最值、均值、标准差等指标,并提供图表展示。

右侧的Code Export可以查看生成这些数据的代码。

4.3 高亮显示(Highlight)

对缺失值、异常值做高亮显示,方便我们快速定位到异常的数据。

Highlight

上图显示了将sepal_width字段的异常值。

dtale非常强大,功能也非常多,大家可以多多探索、挖掘。

最后,简单总结一下。如果探索的数据集侧重数据展示,可以选PandasGUI;如果只是简单了解基本统计指标,可以选择Pandas Profiling和Sweetviz;如果需要做深度的数据探索,那就选择dtale。

到此这篇关于 分享4款Python 自动数据分析神器的文章就介绍到这了,更多相关Python 自动数据分析神器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Biblibili视频投稿接口分析并以Python实现自动投稿功能

    B站视频发布接口分析 项目地址:https://gitee.com/nbody1996/bilibili_video_uploader 视频地址:https://www.bilibili.com/video/BV1qt4y1v76u/ 获取登录Cookies 请求要带着登录成功后关键Cookies,才能被B站后台认为是已登录的状态. 研究发现,以下两个是必要的: SESSDATA(session会话cookies, 相当于登录凭证) bili_jct(防CSRF攻击) 这两个都能在浏览器开发者工

  • python使用dabl几行代码实现数据处理分析及ML自动化

    目录 dabl 1.数据预处理 2.探索性数据分析 3.建模 结论 数据科学模型开发涉及各种组件,包括数据收集.数据处理.探索性数据分析.建模和部署.在训练机器学习或深度学习模型之前,必须清洗数据集并使其适合训练.通常这些过程是重复的,且占用了大部时间. 为了克服这个问题,今天我分享一个名为 dabl 的开源 Python 工具包,它可以自动化机器学习模型开发,包括数据预处理.特征可视化和分析.建模.欢迎收藏学习,喜欢点赞支持. dabl dabl 是一个数据分析基线库,可以让机器学习建模更容易

  • python自动化工具日志查询分析脚本代码实现

    受控节点slave.py 复制代码 代码如下: import socketimport reclass Log(object):    file_list=['access.log','C:\\access.log']    master_ip='192.168.0.103'    def __init__(self):        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)        s.bind(('',3333))      

  • Python实现自动装机功能案例分析

    前言 提示:在管理服务器的过程中,发现有很多服务器在启动的过程中默认以PXE方式启动,这就导致我们无法将PXE装机程序放开到所有的交换机端口中,本文是以Python对dell服务器进行了一些控制,更多厂商机器的管理和控制,仍在调研中. 提示:以下是本篇文章正文内容,下面案例可供参考 一.利用snmp协议获取到目标机器的网卡mac地址 代码如下 def get_mac(ipmi, netcard): #ipmi即服务器idrac_ip,netcard即网卡序列号(一般是4个,从1开始) # 将控制

  • python自动化测试之异常及日志操作实例分析

    本文实例讲述了python自动化测试之异常及日志操作.分享给大家供大家参考,具体如下: 为了保持自动化测试用例的健壮性,异常的捕获及处理,日志的记录对掌握自动化测试执行情况尤为重要,这里便详细的介绍下在自动化测试中使用到的异常及日志,并介绍其详细的用法. 一.日志 打印日志是很多程序的重要需求,良好的日志输出可以帮我们更方便的检测程序运行状态.Python标准库提供了logging模块,切记Logger从来不直接实例化,其好处不言而喻,接下来慢慢讲解Logging模块提供了两种记录日志的方式.

  • Python自动化运维_文件内容差异对比分析

    模块:difflib 安装:Python版本大于等于2.3系统自带 功能:对比文本之间的差异,而且支持输出可读性比较强的HTML文档,与Linux中的diff命令比较相似. 两个字符串的差异对比: #import difflib #text1=''' #hello world. #how are you. #nice to meet you. #''' #text1_lines=text1.splitlines() # 以行进行分割,便于进行对比 #text2=''' #Hello World.

  • Python利用Charles 实现全部自动答题思路流程分析

    利用Charles 达成"我是达人"答题类爆破思路 最近公司需要使用"我是答题"小程序,对武汉疫情进行知识问题:榜单靠前的也有一定的学分奖励:虽然平时总不屑于公司组织的此类活动,但是看了这次活动形式,还是决定直接"爆破 0x01 思路18年大火的直播答题中,对某答题app也进行了类似爆破,并薅了不少羊毛,到了后期已经做到了全自动化的答题,并且是100%正确正常情况下小程序和服务端通信流程 使用charles对请求进行串改流程 因为我的主力电脑就是MacOS

  • Python + Requests + Unittest接口自动化测试实例分析

    本文实例讲述了Python + Requests + Unittest接口自动化测试.分享给大家供大家参考,具体如下: 1. 介绍下python的requests模块 Python Requests快速入门 :http://cn.python-requests.org/zh_CN/latest/ 想必会Python基础的小伙伴们一看就懂了 2. Requests接口自动化测试: 2.1 如何利用这么利器进行接口测试,请看小demo: # -*- coding:utf-8 -* import re

  •  分享4款Python 自动数据分析神器

    目录 1.PandasGUI 2.PandasProfiling 3.Sweetviz 4.dtale 4.1数据操作(Actions) 4.2数据可视化(Visualize) 4.3高亮显示(Highlight) 前言: 我们做数据分析,在第一次拿到数据集的时候,一般会用统计学或可视化方法来了解原始数据.比如了解列数.行数.取值分布.缺失值.列之间的相关关系等等,这个过程我们叫做 EDA(Exploratory Data Analysis,探索性数据分析). 用pandas一行行写代码,那太痛

  • 基于python分享一款地理数据可视化神器keplergl

    目录 1.简介 2.例子 3.添加数据 4.定制图表 5.获取配置 6.导出图表 7.总结 1.简介 keplergl是由Uber开源的一款地理数据可视化工具,通过keplergl我们可以在Jupyter notebook中使用, 可视化效果如下图所示: 安装: 官方文档:https://docs.kepler.gl/docs/keplergl-jupyter 通过pip安装keplergl: pip install keplergl   如果你使用MAC通过PIP安装而且notebook版本在

  • Python自动操作神器PyAutoGUI的使用教程

    目录 GUI 控制神器 鼠标操作 鼠标移动 鼠标点击 鼠标拖动 鼠标滚动 屏幕处理 获取屏幕截图 键盘输入 键盘函数 特殊符号 快捷键 信息框 总结 我们以前讲过怎样使用 Python 在浏览器中实现页面自动化操作,不管用哪种方式实现,都是通过定位页面中的元素来进行相应的操作. 今天我们来聊一聊如何在桌面实现自动化操作.与浏览器页面自动化操作类似,桌面自动化操作也是需要定位鼠标在桌面的位置,然后根据定位的位置执行对应的操作. GUI 控制神器 我们今天的主人公是 pyautogui,pyauto

  • 推荐技术人员一款Python开源库(造数据神器)

    1. 背景 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据.由于现在的业务系统数据多种多样,千变万化.在手动制造数据的过程中,可能需要花费大量精力和工作量,此项工作既繁复又容易出错,比如要构造一批用户三要素(姓名.手机号.身份证).构造一批银行卡数据.或构造一批地址通讯录等. 这时候,人们常常为了偷懒快捷,测试数据大多数可能是类似这样子的: 测试, 1300000 000123456 张三, 1310000 000

  • python自动裁剪图像代码分享

    本代码可以帮你自动剪切掉图片的边缘空白区域,如果你的图片有大片空白区域(只要是同一颜色形成一定的面积就认为是空白区域),下面的python代码可以帮你自动切除,如果是透明图像,会自动剪切大片的透明部分. 本代码需要PIL模块 pil相关介绍 PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫P

  • Python自动操作Excel文件的方法详解

    目录 工具 读取Excel文件内容 写入Excel文件内容 Excel文件样式调整 设置表头的位置 设置单元格的宽高 总结 工具 python3.7 Pycharm Excel xlwt&xlrd 读取Excel文件内容 当前文件夹下有一个名为“股票数据.xlsx”的Excel文件,可以按照下列代码方式来操作它. import xlrd # 使用xlrd模块的open_workbook函数打开指定Excel文件并获得Book对象(工作簿) wb = xlrd.open_workbook('股票数

  • Python进程管理神器Supervisor详解

    目录 一.简介 二.安装 三.创建配置文件 四.初试 五.Web 界面 附录:supervisorctl 常用命令 一.简介 Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启详细介绍查阅:Supervisor Introduction 二.安装 Supervisor 支持 Linux 和 Mac,不支持 Windows本文系统为: centos,supervisor==4.2.4

  • python自动格式化json文件的方法

    本文实例讲述了python自动格式化json文件的方法.分享给大家供大家参考.具体如下: 这里主要实现将代码混乱的json文件格式化. 还有一小堆python常用算法代码 完整实例代码点击此处本站下载. class JsonFormatter: def __init__(self,intend=4,name=""): self.name=name self.intend=intend self.stack=[] self.obj=None self.source=self.get_so

  • Python自动调用IE打开某个网站的方法

    本文实例讲述了Python自动调用IE打开某个网站的方法.分享给大家供大家参考.具体实现方法如下: import win32gui import win32com import win32com.client import pythoncom import time class Test: def runtest(self): print 'test' class EventHandler: def OnVisible(self,visible): global bVisibleEventFir

  • 对Python进行数据分析_关于Package的安装问题

    一.为什么要使用Python进行数据分析? python拥有一个巨大的活跃的科学计算社区,拥有不断改良的库,能够轻松的集成C,C++,Fortran代码(Cython项目),可以同时用于研究和原型的构建以及生产系统的构建. 二.Python的优势与劣势: 1.Python是一种解释型语言,运行速度比编译型数据慢. 2.由于python有一个全局解释器锁(GIL),防止解释器同时执行多条python字节码,所以python不适用于高并发.多线程的应用程序. 三.使用Python进行数据分析常用的扩

随机推荐