大家好,我是帅东哥。

关于pandasGUI工具,我之前介绍过pandasgui。可以说,有了GUI可视化界面,操作就和Excel一样简单,本次再介绍一款功能强大的GUI神器:D-Tale

这个库的名字为啥要D-Tale呢?东哥还信还去查了下,它是detail的谐音,初衷是要提供数据的所有详细信息。下面介绍下如何使用它。

关于pandas精选的系列内容,可以看看我的专栏:pandas骚操作系列

启动、数据加载

D-Tale支持多种文件格式,包括CSVTSVXLSXLSX。它是一个以Flask 为后端,React 作为前端构建的,通过pip安装即可。

pip install dtale

两种启动 D-Tale 的方式:

  • 将DataFrame对象传递给 D-Tale 函数,在 Jupyter 单元中实例化 GUI。
  • 不导入DataFrame对象的情况下初始化 D-Tale,显示为一个带有 GUI 的交互菜单来加载数据并提供各种其他选项。

为了更好地演示,这里选择第二种。

import dtale
dtale.show(open_browser=True)

运行代码后,将获得下面的 GUI 菜单:

数据的导入有几种方式,

  1. 从文件加载数据
  2. 从网站加载数据。需要传递网站的链接,可以从中获取 CSV、JSON、TSV 或 Excel 等文件。
  3. 加载示例数据集。这些数据集可能需要一些后台下载才能从服务器获取数据集。

本文以一个电影的示例数据集展示如何使用。加载数据集后,就会像 pandas一样呈现一个表格。表里的所有单元格都可以编辑,就像在 excel 中一样直接更改值。

列菜单功能

当单击列标题时,可以获得一个选项列表,选项的内容取决于该列的数据类型。比如下面3个类型:datatime64int64str,3个选项列表的共同点是按升序或降序排序。除此之外,对于不同类型的数据会有不同的过滤方法。

具体探索一下项目里的功能。

1. 冻结

锁定功能类似于excel中的首行冻结,将列锁定在最左侧,这样可以自由地滚动表格同时看到锁定的列了。

2.隐藏和删除

隐藏选项将会去掉表格中的某列,但它不会从实际地删除。当然,也可以从右上角的条中取消隐藏列。

删除选项将从数据框中永久删除列。它类似于 pandasdrop 函数。

3. 替换和类型转换

替换选项可以替换表中某些固定值或者填充空值。可以inplace=True替换某列或者创建一个新列。同时,替换类型可以定义为:特定值、空格或特定字符串的替换。

例如下面,date_published列应包含所有日期类型的字符串,但存在了不应存在的文本 TV Movie 2019,这时候可以用 numpy nan 来替换这个异常值。

现在,我可以使用类型转换选项轻松地将date_published列的数据类型从字符串更改为日期时间,同时提供了inplacenew columns更改的选项:

4. 描述性统计

pandas 中的describe函数有助于提供列或数据集的统计摘要。这里的 describe 一样,并且提供的信息比普通的 pandas 函数更多,它为每种数据类型提供了唯一的describe摘要。

对于日期时间类型 column,它提供以下详细信息:

另外,它还为特征生成了histogramvalue_counts 图:

对于整数类型的列,它提供了中心性、频率、峰度和偏度。它还表示箱线图、直方图、value_count 图和 QQ 图中的数据。

对于字符串类型的列,它提供最常用的词及其频率、字符的详细摘要、词值计数图和值计数图。

5. 过滤

D-Tale 中过滤数据非常简单,只需要指定所需的过滤器类型。下面的示例显示按年份 > 2000 和年份 == 2001 过滤数据集:

在筛选日期时间类型列中的数据时,也可以按日期范围筛选数据。对于字符串类型的列,可以通过以下方式过滤数据:

6. 方差报告

这个选项不适用于字符串类型值。方差报告基于以下两点来决定特征是否具有低方差:

  • 特征中的唯一值计数/样本大小 < 10%
  • 最常用值的计数/第二常用值的计数 > 20

显示计算结果,并用直方图以呈现结果。

7. 文本清洗

这个选项仅适用于字符串类型的值。文本清洗是数据科学项目的主要部分,如果使用正确的清洁类型,它可以提高模型性能。D-Tale 提供了可以应用于文本的所有可能的文本清理方法,我们只需选择要应用于文本的方法,工作将在后端即可完成。

主菜单选项

在主菜单中,其实包含了列菜单的全部功能,但在主菜单中使用时,更加普适。比如,可以在单个或者多个列,而非手动选择了。下面是几个核心功能介绍。

1. 创建列

可以创建新列或者从已有的列中创建列。像我们建模前的特征工程也可以使用它来实现,比如使用两列执行算数运算来创建新列。同时,我们可以给创建的新列提供名称,以及设置数据类型。

2. 汇总数据

pandas 中,我们通过分组数据透视表汇总数据。我们也可以用 D-Tale 做同样的事情。我们直接可以选择列、聚合函数以及最终数据集中所需的列即可,无需任何代码。下面是一个例子。

3. 缺失率分析

缺失数据是所有数据集中都会经常出现的问题,因为没有数据集是完美的,它有意或无意地有很多缺失值。D-Tale 集成了 missingno 库来可视化数据集中存在的缺失值,同时它也提供矩阵条形图热图树状图

4. 绘图

绘图是数据科学EDA探索性分析阶段的重要步骤。D-Tale 集成 plotly 来创建交互式绘图。它可以提供折线图、条形图、散点图、饼图、词云图、热图、3D 散点图、表面图、地图、烛台图、树状图和漏斗图。不同类型的数据支持不同类型的绘图,像下面这样。

5. 高亮功能

用于突出显示数据集的某些部分,就像我们在 pandas 中使用 stylers 来显示特殊值一样,highlighters 也可以完成同样的功能。比如,我们可以高亮缺失值、数据类型、异常值或者范围。下面的示例显示了如何高亮显示缺失值和异常值:

6. 代码导出、数据导出

D-Tale 中对数据框执行的所有操作都会自动转换为它们的 python/pandas/plotly 等效代码。可以通过单击每个操作和图表 GUI 中出现的导出代码选项来查看它们。下面是自动生成的一些代码。

import pandas as pd
from dtale.datasets import {dataset}
df = {dataset}()
if isinstance(df, (pd.DatetimeIndex, pd.MultiIndex)):df = df.to_frame(index=False)
# remove any pre-existing indices for ease of use in the D-Tale code, but this is not required
df = df.reset_index().drop('index', axis=1, errors='ignore')
df.columns = [str(c) for c in df.columns]  # update columns to strings in case they are numbers
df = df[[c for c in df.columns if c != 'imdb_title_id']]
df = df.rename(columns={'title': 'Movie_title'})
s = df['date_published']
s = df['date_published']
s = s.replace({'TV Movie 2019': np.nan})
df.loc[:, 'date_published'] = s
df.loc[:, 'date_published'] = pd.Series(pd.to_datetime(df['date_published'], infer_datetime_format=True), name='date_published', index=df['date_published'].index)

最后,我们也可以使用导出选项更改为 CSVTSV 后导出数据集。

结论

D-Tale 这个GUI强大功能真的是香,以后不想敲代码的时候可以进行可视化操作了,然后转成代码如果需要的话。和之前介绍过的其他类似工具的比较来看,比如pandasGUIMitoD-Tale 的功能更加强大。

参考:https://www.analyticsvidhya.com/blog/2021/06/exploring-pandas-dataframe-with-d-tale/

原创文章持续更新,可以微信搜一搜「 Python数据科学」第一时间阅读。

pandas GUI 神器 D-Tale,可视化操作自动转代码相关推荐

  1. 可视化uniapp 自动生成代码项目

    免费使用可视化uniapp 自动生成代码项目 1.重点优化了flex布局,flex布局目前支持文本内容.图片.头像图标.按钮.标签 2.可以拖拽到相应的flex容器中.插入的收获可以选择插入位置,右侧 ...

  2. 吹爆这个 pandas GUI 神器,自动转代码!

    来源:Python数据科学 关于pandas的GUI工具,可以说,有了GUI可视化界面,操作就和Excel一样简单,本次再介绍一款功能更加强大的GUI神器:D-Tale. 这个库的名字为啥要D-Tal ...

  3. python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI

    本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...

  4. 使用 Pandas GUI 进行数据探索

    数据预处理是数据科学管道的重要组成部分,需要找出数据中的各种不规则性,操作您的特征等. Pandas 是我们经常使用的一种工具,用于处理数据,还有 seaborn 和 matplotlib用于数据可视 ...

  5. Matplotlib 常用可视化操作

    Matplotlib 常用可视化操作 文章目录 Matplotlib 常用可视化操作 0. matplotlib 介绍 1. 简单辅助线 2. 坐标轴设置 用figure() 函数创建图表 设置x轴 ...

  6. pandas matplotlib 用于数据分析和可视化

    上一个任务通过requests.BeautifulSoup4两个功能强大.用法简洁的函数库已经获取到了楼盘名.地址和价格这些新房信息,并且保存为csv格式文件,csv文件可以用excel打开并进行编辑 ...

  7. 真心有用!神器 Jupyter 的可视化 Debug!

    点击上方"菜学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 来源丨网络 大家好,我是菜鸟哥! Python 代码编辑器怎么选?PyCha ...

  8. Python自动生成代码 - 通过tkinter图形化操作生成代码框架

    Python自动生成代码 - 通过tkinter图形化操作生成代码框架 背景 脚本代码 Demo_CodeGenerator.py display.py FileHandler.py: 脚本运行结果: ...

  9. 神器推荐!可视化 Python打包 exe,这个牛了!

    作者:LabVIEW_Python 来源:https://www.jianshu.com/p/e33b4f0373bc # 1. 什么是auto-py-to-exe auto-py-to-exe 是一 ...

  10. 神器推荐!可视化 Python 打包 exe,绝了!

    # 1. 什么是auto-py-to-exe auto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具.本文就是主要介绍如何使用 auto-py-to-exe 完成 py ...

最新文章

  1. mac下mysql5.7.10密码问题
  2. 关于CBitmap,LoadBitmap 的使用
  3. Python 技术篇-httpClient库连接服务器发送请求解析响应实例演示,No module named ‘httplib‘问题解决方法
  4. 创业必看:中国八大草根富豪发家史
  5. 欢迎参与 KubeVela 官方文档翻译活动
  6. nfs服务器与客户端配置
  7. html怎样获取用户手机号码,小程序如何获取用户手机号?
  8. 利用cli.go来写命令行应用
  9. python 窗体句柄_Python pyautogui窗口句柄(Python pyautogui window handle)
  10. ensp 链路聚合的配置
  11. 2020年3月—— ES6
  12. 【JS 逆向百例】某音 X-Bogus 逆向分析,JSVMP 纯算法还原
  13. 查看电脑ip(cmd) 利用php获取ip地址
  14. 全新版windows terminal 更换背景
  15. 新浪开放平台开发1--认证
  16. STM32学习笔记(11)电容触摸按键
  17. STM32MINI板写的超声波代码
  18. 爪哇国新游记之六----抽象类
  19. 易基因|一文读懂精准简化基因组甲基化测序(RRBS+oxRRBS)分析怎么做
  20. java List取随机几个数据的方法实现

热门文章

  1. 2022-2028年中国生物质颗粒行业市场行情动态及竞争战略分析报告
  2. HTTP基本原理(简介)
  3. 什么是盒子模型,盒子模型,标准盒模型,怪异盒模型,两种盒模型的区别,box-sizing属性
  4. html网页字体颜色代码大全
  5. 湖北省2021年高考成绩查询日期,湖北2021年高考查分及志愿填报时间公布!
  6. 谷歌地图 经纬加密_Google开始加密搜索
  7. Android JNI:lame库的编译及使用
  8. c# chart 各个属性_C#Chart各个属性详细解析、应用
  9. 方正飞鸿:工作流在OA系统中的重要性
  10. 多线程下载sis001的网友自拍贴图版面的图片