吹爆这个 pandas GUI 神器,自动转代码!
来源:Python数据科学
关于pandas
的GUI
工具,可以说,有了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
的功能更加强大。
参考:https://www.analyticsvidhya.com/blog/2021/06/exploring-pandas-dataframe-with-d-tale/
-------- End --------
精选资料
回复关键词,获取对应的资料:
关键词 | 资料名称 |
---|---|
600 | 《Python知识手册》 |
md | 《Markdown速查表》 |
time | 《Python时间使用指南》 |
str | 《Python字符串速查表》 |
pip | 《Python:Pip速查表》 |
style | 《Pandas表格样式配置指南》 |
mat | 《Matplotlib入门100个案例》 |
px | 《Plotly Express可视化指南》 |
精选内容
数据科学: VS Code 中 Python配置使用指南 | 财经工具 Tushare | Matplotlib 最有价值的 50 个图表
书籍阅读: 如何阅读一本书 | 巴菲特之道 | 价值 | 原则 | 投资最重要的事 | 戴维斯王朝 | 客户的游艇在哪里 | 刻意练习 | 林肯传 | 金字塔原理
投资小结: 2021Q4 | 2021Q3 | 2021Q2 | 2021Q1 | 2020Q4
精选视频
可视化: Plotly Express
财经: Plotly在投资领域的应用 | 绘制K线图表
排序算法: 汇总 | 冒泡排序 | 选择排序 | 快速排序 | 归并排序 | 堆排序 | 插入排序 | 希尔排序 | 计数排序 | 桶排序 | 基数排序
吹爆这个 pandas GUI 神器,自动转代码!相关推荐
- python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI
本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...
- 黑科技:进阶必备,推荐两款自动生成代码神器
关注上方"测试开发技术",选择星标, 干货技术,第一时间送达! 最近两年,在互联网行业各大技术峰会上,都能看到关于工程效能这个概念,从侧面也反映出了研发效能已经逐渐被各企业所重视! ...
- 程序员饭碗不保了?GPT-3 最强应用发布,动动手指就自动写代码的神器来了!...
作者 | 马超 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 前不久OpenAI发布最新的NLP模型GPT-3,这两天霸榜GitHub趋势榜: 这个模型的出现证明在AI领域的&quo ...
- sql自动生成工具_可自动生成代码,5款基于AI的开发工具
如今,对机器学习潜力感兴趣的程序员都在讨论,如何使用人工智能和基于人工智能的软件开发工具构建应用程序.例如PyTorch和TensorFlow之类的解决方案. 除此之外,机器学习技术正以另一种有趣的方 ...
- Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别
Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别 目录 车牌图像数据集 视频动态演示 核心代码 相关文章 Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别 Matl ...
- 使用 Pandas GUI 进行数据探索
数据预处理是数据科学管道的重要组成部分,需要找出数据中的各种不规则性,操作您的特征等. Pandas 是我们经常使用的一种工具,用于处理数据,还有 seaborn 和 matplotlib用于数据可视 ...
- Stark 组件:快速开发神器 —— 自动生成 URL
说道 Stark 你是不是不会想到他--Tony Stark,超级英雄钢铁侠,这也是我的偶像. 不过我们今天要开发的 Stark 组件,倒是跟他的人工智能助手 JARVIS 有些类似,是帮助我们快速开 ...
- 第七十七期:可自动生成代码,5款基于AI的开发工具
如今,对机器学习潜力感兴趣的程序员都在讨论,如何使用人工智能和基于人工智能的软件开发工具构建应用程序.例如PyTorch和TensorFlow之类的解决方案. 作者:Sandra Parker 如今, ...
- 论文自动转代码!IBM印度大三实习生搞了个神奇研究(已中AAAI)
李林 岳排槐 发自 凹非寺 量子位 出品 | 公众号 QbitAI 深度学习的论文越来越多了~ 多到什么程度?Google scholar的数据显示,2016年以来,人工智能领域新增的论文已经超过3. ...
最新文章
- 再说spring比较重,臃肿的看此文!!!!!
- 【AWS】AWS云计算赋能数字化转型专题研讨会圆满落幕
- Mybatis的ResultMap的使用
- win8无权限访问这台计算机,win8共享打印机无访问权限的解决方法
- mac中修改系统限制量--ulimit和sysctl
- 瞧!公务员的工作还可以这样干
- xcode7打包ipa文件
- Theano 中文文档 0.9 - 7.2.6 Theano如何处理形状信息
- 【Kafka】Kafka认证与授权
- 【leecode】小练习(简单8题)
- mysql批量导入txt数据_MySQL批量导入Excel、txt数据
- Hadoop本地库介绍及相关问题解决方法汇总
- lua语言实现阴阳师自动脚本(内含可运行程序)
- fedora9 换源方法
- NOI题库练习1.5(07)
- 利用公式求sinx近似值(x:弧度)
- 怎么用计算机创建wifi,电脑如何设置wifi
- DevC++和ege19.01版本图形库的配置安装
- 易语言 文件捆绑机的原理【转载】
- 程序员如何更好的提升自己