乐趣区

关于ide:吹爆这个-pandas-GUI-神器自动转代码

以下文章来源于 Python 数据迷信,作者东哥腾飞

对于 pandasGUI工具,能够说,有了 GUI 可视化界面,操作就和 Excel 一样简略,本次介绍一款性能更加弱小的 GUI 神器:D-Tale

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

启动、数据加载

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 中过滤数据非常简单,只须要指定所需的过滤器类型。

在筛选日期工夫类型列中的数据时,也能够按日期范畴筛选数据。对于字符串类型的列,能够通过以下形式过滤数据:

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 的性能更加弱小。

GitHub 主页地址:https://github.com/man-group/…

参考:

https://www.analyticsvidhya.c…

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

退出移动版