在公众号「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数据分析》,学习更多相关知识
重庆未来之智信息技术咨询服务有限公司专业从事AI机器学习建模,为国内外多家金融公司建立模型。公司客户包括国内诸多金融机构,银行,证券公司,科研所。
同时我们也为科研高端人群提供专利,论文定制服务,例如研究生,博士生,导师涉及的毕业论文,申博论文,中文核心期刊,CCF,EI会议。
专利,论文定制服务项目提供发票,合同,流程全齐。
如果你有专利,论文定制服务需求,请商务联系QQ:231469242,微信:drug666123,或扫描下面二维码加微信咨询。
金融风控领域,我们是专业的!