D-tale功能的探索
在公众号「python风控模型」里回复关键字:学习资料
介绍
Pandas 数据框以带有行和列的表格格式表示。它与表格中数据的excel显示非常相似。Pandas dataframe 和 excel 的显着区别在于,在 Pandas 中,您不能直接对数据集进行修改。您既不能通过任何 GUI 对数据进行排序,也不能通过选择一些参数来创建快速可视化。
在 excel 中,你可以做所有这些事情,但如果我告诉你,你也可以在 Pandas 的 GUI 中做所有这些事情,并获得所有修改和绘图的代码呢!D-Tale是一个强大的库,它提供了这些功能以及许多额外的好处。我将尝试捕获该库的所有功能。
顾名思义,D-Tale 提供了有关所提供数据的各种详细信息。它支持多种文件格式,包括CSV、TSV、XLS、XLSX。它是一个以Flask 后端和 React 作为前端构建的 Python 库。它可以通过 pip python 包管理器轻松安装。
pip 安装 dtale
您可以通过两种方式启动 D-Tale 界面并在 Jupyter 笔记本中加载数据:
要么将数据帧对象传递给 D-Tale 函数。这仅在 Jupyter 单元中实例化 GUI。
在不传递数据帧的情况下初始化 D-Tale 接口。它将显示一个带有 GUI 的交互菜单来加载数据并提供各种其他选项。
为了更好地演示,我将选择第二个选项。启动没有数据的实例的代码是:
导入数据
dtale.show(open_browser=True)
运行此代码后,您将获得此 GUI 菜单:
首次界面
在这里您有以下选择——
从文件加载数据
从网站加载数据。在这里,您需要传递网站的链接,您可以从中获取 CSV、JSON、TSV 或 Excel 等文件。
加载示例数据集。这些数据集可能需要一些后台下载才能从服务器获取数据集。
让我们加载电影示例数据集。加载数据集后,就会像 Pandas 数据框一样显示一个表格。此表的所有单元格都可以编辑,您可以像在 excel 中一样直接更改值。
列菜单功能
每当您单击列标题时,您将获得一个选项列表,具体取决于该列包含的数据类型。他们三个的共同点是按升序或降序排序。除此之外,对于不同类型的数据会有不同的过滤方法。
此外,在字符串类型列中,将没有“热图”和“方差报告”选项,但会有一个名为“清理列”的新选项,该选项不存在于整数和日期时间值列中。
让我们探索其中的一些。
1. 锁定
该锁选项坚持列于屏幕左侧,让您自由地滚动/导航到无锁定列其他列被移位。当您想查看分开放置的列时,这可以证明是有用的。
2.隐藏和删除
该隐藏选项去除数据框视图的列。它不会从实际数据框中删除。您可以简单地从右上角的条中取消隐藏列。
该删除选项 将从数据框中永久删除列。它类似于 pandas 的 drop 函数。在后端,它遍历列列表以选择要从数据框中删除的列。
3. 替换和类型转换
甲更换选择用于具有恒定或NaN值替换的列的一些值。您可以进行此替换或创建一个单独的列。替换类型也可以定义为替换:特定值、空格或特定字符串替换。
例如,“date_published”列应包含所有日期类型的字符串,但存在不应存在的文本“TV Movie 2019”。让我们用 numpy nan 替换此文本。
现在,我可以使用类型转换选项轻松地将“date_published”列的数据类型从字符串更改为日期时间。它还提供了在原地或另一列进行更改的选项:
4. 描述
pandas 中的describe函数有助于提供列或数据集的统计摘要。这里的 describe 选项以相同的方式工作,但它提供的信息比普通的 Pandas 函数多。由于它被命名为列分析,因此它为每种数据类型提供了唯一的摘要。
对于日期时间类型 column,它提供以下详细信息:
它还为特征生成直方图和 value_counts 图:
对于整数类型的列,它提供了中心性和传播的度量以及最频繁值的频率以及峰度和偏度。它还表示箱线图、直方图、value_count 图和 QQ 图中的数据。
对于字符串类型的列,它提供最常用的词及其频率、存在字符的详细摘要、词值计数图和值计数图。
5. 过滤器
这些用于制作数据的子集。在 D-Tale 中过滤数据非常简单,您只需要指定所需的过滤器类型。下面的示例显示了按年份 > 2000 和年份 == 2001 过滤数据集:
在筛选日期时间类型列中的数据时,您也可以按日期范围筛选数据。对于字符串类型的列,您可以通过以下方式过滤数据:
6. 差异报告
此选项不适用于字符串类型值。方差报告显示特征是否具有低方差。它根据两项检查来决定这一点:
特征中的唯一值计数/样本量 < 10%
最常用值的计数/第二常用值的计数 > 20
它显示计算结果和直方图以呈现结果。
7. 清洁色谱柱
此选项仅适用于字符串类型的值。文本清理是数据科学项目的主要部分。如果进行正确的清洁类型,它可以提高模型性能。D-Tale 提供了可以应用于文本的所有可能的文本清理方法。您只需选择要应用于文本的方法,工作将在后端完成。
主菜单选项
在主菜单中几乎全部在列菜单提供,但在主菜单中,他们普遍,您可以在多个列,而可以手动从显示器接他们一个地方做业务相同的选项。以下是一些主菜单独有且工作方式不同的选项。
1. 建立专栏
此选项允许您从已有的列中创建新的特征/列。您可以通过对列执行算术运算或使用两列执行运算来创建这些新功能。您还可以提供要创建的新列的名称及其数据类型。
2. 汇总数据
在 Pandas 中,我们通过分组或数据透视表汇总数据。你也可以用这个包做同样的事情。Pandas 要求您为每个 group by 和数据透视表编写代码,但使用 D-Tale,您可以选择列、聚合函数以及最终数据集中所需的列。让我们按电影平均时长的年份摘要创建一个组:
3. 缺失分析
丢失数据是任何类型数据集中的常见问题。没有一个数据集是完美的,它有意或无意地有很多缺失值。D-Tale 使用 missingno python 包来可视化数据集中存在的缺失值。它也提供矩阵、条形图、热图和树状图。
4. 图表
绘图是任何数据科学探索性分析阶段的重要步骤。您可以使用任何类型的绘图库来绘制图形。D-Tale 使用 plotly 随时随地创建交互式绘图。它提供折线图、条形图、散点图、饼图、词云图、热图、3D 散点图、表面图、地图、烛台图、树状图和漏斗图。不同类型的数据支持不同类型的绘图。
下面是一个选择了一些配置的条形图示例,其中 x 轴表示年份,y 轴表示电影时长的总和:
5. 荧光笔
这些用于突出显示数据集的某些部分。就像我们在 Pandas 中使用 stylers 来显示奇怪的值一样,highlighters 做同样的工作。您可以突出显示缺失值、数据类型、异常值和范围。下面的示例显示了如何突出显示缺失值和异常值:
6. 代码导出和数据导出
您在 D-Tale 中对数据框执行的所有操作都会自动转换为它们的 python/pandas/plotly 等效代码。可以通过单击每个操作和图表 GUI 中出现的导出代码选项来访问它们。查看为对数据集完成的一些操作生成的代码:
# DISCLAIMER: 'df' refers to the data you passed in when calling 'dtale.show'
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 的一些功能,这确实是一个强大的软件包。还有更多功能需要探索,您绝对应该检查一下。如果我将它与旨在在 Python 中提供类似电子表格的操作的Mito进行比较,那么 D-Tale 在提供的功能方面确实比它更具优势。
使用 D-Tale高效探索 Pandas DataFrame就为大家介绍到这里,欢迎各位同学了解
《呆瓜半小时入门python数据分析》,学习更多相关知识
D-tale功能的探索相关推荐
- go interface转int_Go 中 slice 的 In 功能实现探索
之前在知乎看到一个问题:为什么 Golang 没有像 Python 中 in 一样的功能?于是,搜了下这个问题,发现还是有不少人有这样的疑问. 今天来谈谈这个话题. in 是一个很常用的功能,有些语言 ...
- vue下实现textarea类似密码框的功能之探索input输入框keyup,keydown,input事件的触发顺序...
项目中引入element的input框组件,触发事件必须要加上.native <el-input placeholder="请输入" type="textarea& ...
- 向大脑学习智能本质,探索通用 AI 的另一条可行路径
[观点速递]"大数据"."大算力"和"大模型",是近些年人工智能领域的热点词汇.在本届智源大会上发布的超大规模人工智能模型-&q ...
- 从Folly源代码中学习C ++ 11的新功能。
五年前,Facebook发布了名为Folly的C ++库,该库是Facebook内部广泛使用的大量可重用C ++库组件的集合. 但是存在许多成熟的C ++开源库,为什么要引入另一个库呢? 这是其实用程 ...
- 佳能eosr控制环能否计算机控制,EOS R有哪些隐藏功能
EOS R是佳能首款全画幅专业微单,在操控上有很多创新,加入了很多新功能.尤其是强调自定义功能,让用户有更多的参与感,满足不同用户的多样化需求.作为一款采用全新系统的微单,其操作体验自然相对此前的佳能 ...
- 【文献篇】国家法律法规数据库提供免费的文献下载功能
[文献篇]国家法律法规数据库提供免费的文献下载功能 不用登录.不用注册.点击即可免费下载word.PDF等版本!!! 比网上随便找.复制粘贴.还需要格式更改.担心完整性.准确性等问题省心N倍!!!-[ ...
- java 音频转码_javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)...
javaCV系列文章: 补充篇: 前言: 之前几章把javaCV-FFmpeg中的能够实现的基本功能大致梳理了一遍,本章在之前几章基础上实现一个通用的音频编码和参数转换器 实现功能: ①音频编码转换② ...
- 会声会影2023专业版视频处理制作软件功能详细介绍
会声会影是一款专业的视频处理和制作软件,也是目前影楼制作结婚和一般视频特效制作的必备软件,他是一款专为个人及家庭所设计的数码影片编辑软件,可将数 字或模拟摄像机所拍下来的如成长写真.国外旅游.个人MT ...
- 社会保障卡加载金融功能总体方案
为推动社会保障卡加载金融功能工作,规范具有金融功能的社会保障卡的发行和管理,促进具有金融功能的社会保障卡的应用,编制本方案. 本方案确定了具有金融功能的社会保障卡的技术实现方式.应用领域和发行管理模式 ...
- 人力资源社会保障部、中国人民银行关于社会保障卡加载金融功能的通知
各省.自治区.直辖市人力资源社会保障厅(局),福建省公务员局,新疆生产建设兵团人事局.劳动保障局:中国人民银行 上海总部,各 分行.营业管理部,各省会(首府)城市中心支行,各副省级城市中心支行:各国有 ...
最新文章
- DW中CSS属性详解
- 硬核!30 张图解 HTTP 常见的面试题
- manacher马拉车算法
- wxWidgets:wxCmdLineParser类用法
- ASP.NET页面对象模型:Page类介绍
- 牛客 - Across the Firewall(最大流)
- BP contact search in Fiori ui
- matlab simulink笔记05 —— 积分模块
- webapi get请求 FromUri list参数传递
- hash存储结构【六】
- python 内建函数basestring笔记
- 【实践】阿里妈妈流量反作弊算法实践
- 2021年中国电缆吹风机市场趋势报告、技术动态创新及2027年市场预测
- 计算机英语词汇带音标,计算机专用英语词汇1500词(带音标).doc
- 美团商品知识图谱的构建及应用
- android No address associated with hostname错误
- 淘宝特价版将接入微信 腾讯会松口吗?
- 将EXCEL插入SOLIDWORKS工程图的方法简介
- 武侠末世(真香游戏V2.0)
- [MySQL]-删库后恢复
热门文章
- 反激变换器matlab仿真变压器demo,反激变换器建模Matlab仿真
- redis java客户端封装_redis的java客户端Jedis简单封装
- jenkins vue 打包特别慢_Jenkins 自动化部署
- matlab绘制不同线性的直方图,在matlab中绘制多个垂直直方图
- Java多态的理解,真实开发详解,带编程,通俗白话文,简单易懂
- 计算机机房维护与管理,计算机机房的管理与维护.doc
- android实战技巧,实战技巧:Android异步指南
- 【转】VNode节点
- 让网页附件为Word或Excel的文件,下载时直接弹出下载对话框,而不打开它
- bzoj3550: [ONTAK2010]Vacation(单纯形法+线性规划)