0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

功能更加强大的GUI神器

数据分析与开发 来源:Python数据科学 作者:东哥起飞 2021-11-22 10:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

启动、数据加载D-Tale支持多种文件格式,包括CSV、TSV、XLS、XLSX。它是一个以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 菜单

数据的导入有几种方式,

从文件加载数据

从网站加载数据。需要传递网站的链接,可以从中获取 CSV、JSON、TSV 或 Excel 等文件。

加载示例数据集。这些数据集可能需要一些后台下载才能从服务器获取数据集。

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

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

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

1. 冻结

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

2.隐藏和删除

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

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

3. 替换和类型转换

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

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

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

4. 描述性统计

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

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

另外,它还为特征生成了histogram和 value_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)

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

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

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93942
  • 数据集
    +关注

    关注

    4

    文章

    1230

    浏览量

    26036

原文标题:吹爆这个 pandas GUI 神器,自动转代码!

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    恩智浦GUI Guider 1.10.0正式上线

    GUI Guider 1.10.0正式上线啦!新版本软件带来了更智能的UI开发工具、更高效的图片资源性能优化,以及更广泛的开发板支持。
    的头像 发表于 10-27 09:18 957次阅读

    蓝牙云屏:功能强大,性价比之选​

    蓝牙云屏:功能强大,性价比之选​ 在仪器仪表行业,想要在严格控制成本的同时保证设备功能强大,往往是一件两难的事情。要么为了控制成本牺牲功能,导致产品竞争力不足;要么为了丰富功能增加成本
    的头像 发表于 09-25 17:12 370次阅读
    蓝牙云屏:<b class='flag-5'>功能强大</b>,性价比之选​

    GUI设计】颜色对GUI的影响

    【LabviewGUI】颜色对GUI的影响 GUI最后一期了 后面回归主线
    发表于 08-26 04:51

    基于兆易创新GD32系列MCU的GUI智能屏显解决方案

    随着人机交互需求的不断提升,图形用户界面(GUI)已成为各类智能设备的核心组成部分。兆易创新GD32系列MCU凭借其丰富的外设接口和强大的处理能力,为用户们提供了全面的GUI屏显解决方案,从低功耗小型显示屏到高分辨率彩色触摸屏,
    的头像 发表于 08-19 14:49 1322次阅读
    基于兆易创新GD32系列MCU的<b class='flag-5'>GUI</b>智能屏显解决方案

    匠芯创发布新版GUI开发工具 新增多国语言设置等功能

    近日,匠芯创自主研发的GUI开发工具AiUIBuilder推出全新V1.3.0版本。作为一款基于LVGL的UI设计工具,AiUIBuilder致力于为嵌入式平台的图形应用开发提供高效、便捷的解决方案
    的头像 发表于 08-07 15:36 870次阅读
    匠芯创发布新版<b class='flag-5'>GUI</b>开发工具 新增多国语言设置等<b class='flag-5'>功能</b>

    匠芯创发布新版GUI开发工具 新增多国语言设置等功能

    ,以及画布缩放功能 。这些功能的加入,使得设计过程更加灵活、精准,能够满足不同用户在多种场景下的设计需求。此外,该版本还添加了 UART与UI交互示例模板、播放器示例模板以及多国语言示例模板 ,为
    发表于 07-16 13:54

    GUI Guider全新优化方案GUI xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    引言 在嵌入式GUI开发领域,图形界面的渲染性能直接决定了用户体验的流畅度与产品竞争力。针对i.MX RT系列的开发需求,恩智浦在2025年隆重推出全新的性能优化方案 - GUI xTurbo技术
    的头像 发表于 07-10 09:21 3229次阅读
    <b class='flag-5'>GUI</b> Guider全新优化方案<b class='flag-5'>GUI</b> xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    揭秘ABAQUS强大到超乎想象的分析功能有哪些?

    在工程技术领域,有限元分析(FEA)软件扮演着至关重要的角色,而ABAQUS无疑是这一领域的佼佼者。作为达索公司旗下的旗舰产品,ABAQUS凭借其强大的分析功能和广泛的应用领域,成为了工程师
    的头像 发表于 05-21 16:15 527次阅读
    揭秘ABAQUS<b class='flag-5'>强大</b>到超乎想象的分析<b class='flag-5'>功能</b>有哪些?

    GUI Guider1.9.1新版本8大新亮点总结 为HMI开发注入新活力

    GUI Guider迎来了全新版本!这一次,我们带来了多项重磅更新,旨在为大家提供更强大、更便捷的开发体验。无论你是工业控制、智能家居,还是消费电子领域的开发者,这些更新都将为你的项目注入新的活力
    的头像 发表于 05-09 08:48 2455次阅读
    <b class='flag-5'>GUI</b> Guider1.9.1新版本8大新亮点总结 为HMI开发注入新活力

    树莓派新玩法:基于WiFi的CPU温度与内存使用Web-GUI监控系统

    RaspberryPi是一款灵活强大的硬件平台,适用于各种创意项目,而性能监控则是确保其高效运行的关键。本文介绍了一款基于NiceGUI和Python构建的图形用户界面(GUI),允许用户通过
    的头像 发表于 03-25 16:39 748次阅读
    树莓派新玩法:基于WiFi的CPU温度与内存使用Web-<b class='flag-5'>GUI</b>监控系统

    分享一款功能强大的QuarkXPress桌面排版软件

    QuarkXPress 是功能强大的原创桌面排版软件。经过 40 多年的不断完善,如今它已成为创意专业人士的首选软件,用于实现出色的印刷和数字设计。 您可以选择预购软件并永久使用,也可以选择订阅
    的头像 发表于 03-14 09:31 1455次阅读
    分享一款<b class='flag-5'>功能强大</b>的QuarkXPress桌面排版软件

    GUI Guider v1.9.0全新版本上线

    新年伊始,GUI Guider也迎来了全新版本!这一次,我们带来了多项重磅更新,旨在为你提供更强大、更便捷的开发体验。无论你是工业控制、智能家居,还是消费电子领域的开发者,这些更新都将为你的项目注入新的活力!
    的头像 发表于 02-07 10:43 4496次阅读

    DRV8434SEVM GUI用户指南

    电子发烧友网站提供《DRV8434SEVM GUI用户指南.pdf》资料免费下载
    发表于 12-21 10:36 0次下载
    DRV8434SEVM <b class='flag-5'>GUI</b>用户指南

    MSP-TouchPro GUI用户指南

    电子发烧友网站提供《MSP-TouchPro GUI用户指南.pdf》资料免费下载
    发表于 12-10 14:09 0次下载
    MSP-TouchPro <b class='flag-5'>GUI</b>用户指南

    PGA300 GUI用户指南

    电子发烧友网站提供《PGA300 GUI用户指南.pdf》资料免费下载
    发表于 12-07 15:23 0次下载
    PGA300 <b class='flag-5'>GUI</b>用户指南