在VS Code中开始使用Data Wrangler

Data Wrangler 是一款以代码为中心的数据查看和清理工具,集成于 VS Code 和 VS Code Jupyter 笔记本中。它提供了丰富的用户界面,方便您查看和分析数据,展示富有洞察力的列统计数据和可视化,并在清理和转换数据时自动生成 Pandas 代码。

以下是从笔记本打开数据整理器,利用内置作分析和清理数据的示例。然后自动生成的代码会导出回笔记本。

一个GIF,内容是从笔记本打开Data Wrangler,查看数据,切换到编辑模式,进行数据转换,并将生成的Python代码导出回笔记本

本文档涵盖了如何:

  • 安装和设置数据整理器
  • 从笔记本中获取发射数据整理器
  • 从数据文件启动数据整理器
  • 使用数据整理器来探索你的数据
  • 使用数据整理工具对数据进行作和清理
  • 编辑并导出数据整理代码到笔记本
  • 排查故障和反馈

搭建你的环境

  1. 如果你还没安装,建议安装Python重要提示:Data Wrangler 仅支持 Python 3.8 或更高版本。
  2. 安装Visual Studio Code
  3. 安装Data Wrangler扩展

当你第一次启动Data Wrangler时,它会询问你想连接哪个Python内核。它还会检查你的机器和环境,看看是否安装了所需的 Python 包,比如 Pandas。

以下是 Python 和 Python 包所需版本的列表,以及 Data Wrangler 是否会自动安装它们:

名称 最低要求版本 自动安装
Python 3.8
熊猫 0.25.2 是的

如果在你的环境中找不到这些依赖,Data Wrangler 会尝试为你安装它们,包括PIP.如果数据整理器无法安装依赖,最简单的解决办法是手动运行PIP安装然后再次启动数据整理器。这些依赖是Data Wrangler所必需的,因此它可以生成Python和Pandas代码。

开放数据整理器

任何时候你在Data Wrangler中,都处于一个沙盒环境中,这意味着你可以安全地探索和转换数据。原始数据集只有在你明确导出修改后才会被修改。

Jupyter 笔记本中的发射数据整理器

从你的Jupyter笔记本启动Data Wrangler有三种方法

一张显示从笔记本进入数据整理器的截图

  1. Jupyter>变量面板中,在任何支持的数据对象旁边,你可以看到一个按钮可以启动数据整理器。
  2. 如果你的笔记本里有Pandas数据帧,运行输出数据帧的代码后,你现在可以在单元格底部看到一个打开“df”按钮(其中“df”是你的数据帧变量名)。这包括1)df.head(), 2)df.tail(), 3)Display(DF), 4)打印(DF), 5)DF.
  3. 在笔记本工具栏中,选择查看数据,会显示笔记本中所有支持的数据对象列表。然后你可以选择想在数据整理器中打开列表中的哪个变量。

直接从文件进行启动数据整理器

你也可以直接从本地文件(比如.csv).要做到这一点,可以在VS Code中打开包含你想打开的文件的任何文件夹。在文件资源管理器视图中,右键点击文件,点击“在数据整理器中打开”。

一张显示从文件进入数据整理器的截图

Data Wrangler 目前支持以下文件类型

  • .csv/.tsv
  • .xls/.xlsx
  • .拼花地板

根据文件类型,你可以指定文件的分隔符和/或文件表。

一张截图,展示了在直接从文件打开时,在数据整理器中可以设置的参数

你也可以默认用数据整理器打开这些文件类型。

UI巡演

数据整理器在处理数据时有两种模式。每种模式的细节将在下文后续章节中详细说明。

  1. 观看模式:查看模式优化了界面,方便你快速查看、筛选和排序数据。这种模式非常适合对数据集进行初步探索。
  2. 编辑模式:编辑模式优化界面,方便你对数据集进行转换、清理或修改。当你在界面中应用这些转换时,Data Wrangler 会自动生成相关的 Pandas 代码,并可导出回你的笔记本中重复使用。

注意:默认情况下,数据整理器以查看模式打开。你可以在设置编辑器里更改这个行为

Visual Studio Code 中设置 Data Wrangler 默认模式的截图

观看模式接口

一张显示数据整理器查看模式下不同组件的截图

  1. 数据摘要面板显示您整体数据集的详细摘要统计数据,或如果选择了特定列。

  2. 你可以在列的头部菜单中对该列应用任何数据筛选/排序

  3. 在数据整理器中切换查看模式或编辑模式,即可访问内置的数据作。

  4. 快速洞察页首是您可以快速查看每列宝贵信息的地方。根据列的数据类型,快速洞察显示数据的分布或数据点的频率,以及缺失和不同的值。

  5. 数据网格提供了一个可滚动的窗格,你可以查看整个数据集。


编辑模式界面

切换到编辑模式可启用Data Wrangler中的额外功能和用户界面元素。在下面的截图中,我们使用 Data Wrangler 将最后一列的缺失值替换为该列的中位数。

一张显示数据整理器编辑模式下不同组件的截图

  1. 面板是你可以搜索Data Wrangler所有内置数据作的地方。作按类别组织。

  2. 清洁步骤面板显示了之前应用的所有作列表。它允许用户撤销特定作或编辑最近的作。选择步骤会在数据差分视图中突出显示变化,并显示与该作相关的生成代码。

  3. 导出菜单允许你把代码导出回Jupyter笔记本,或者导出到新文件。

  4. 当你选中某个作并预览其对数据的影响时,网格会叠加你对数据所做的更改数据的差分视图。

  5. 代码预览部分显示 Data Wrangler 在选择作时生成的 Python 和 Pandas 代码。当未选择作时,它保持空。你可以编辑生成的代码,这样数据网格会突出显示对数据的影响。

数据整理器作

内置的数据整理器作可以从面板中选择。

数据整理器作面板的截图

下表列出了目前在 Data Wrangler 初始版本中支持的作。我们计划在不久的将来增加更多运营。

运营 描述
排序 排序列(升序或降序)
滤波器 基于一个或多个条件筛选行
计算文本长度 创建一个新列,取值等于文本列中每个字符串值的长度
单热编码 将类别数据拆分为每个类别的新列
多标签二分器 使用分隔符将类别数据拆分为每个类别的新列
从公式创建列 使用自定义的 Python 公式创建列
更换柱类型 更改列的数据类型
投放列 删除一列或多列
选择列 选择一个或多个列保留,删除其余
更名栏 重命名一个或多个列
克隆柱 创建一份或多列的副本
丢弃缺失值 移除缺失值的行
丢弃重复行 删除所有在一个或多个列中存在重复值的行
填充缺失值 用新值替换缺失值的单元格
查找并替换 用匹配的模式替换单元格
按列和总量分组 按栏分组及总计结果
带状空白空间 去除文本开头和结尾的空白
分割文本 根据用户自定义的分隔符将一列拆分为几列
第一个字符大写 将第一个字符转换为大写字母,剩余字符转换为小写字母
将文本转换为小写 将文本转换为小写
将文本转换为大写 将文本转换为大写
通过示例进行字符串变换 当检测到你提供的示例中的模式时,自动执行字符串变换
通过示例进行 DateTime 格式化 当从你提供的示例中检测到模式时,自动执行DateTime格式化
新柱示例 当从你提供的示例中检测到模式时,自动创建一列。
最小/最大值缩放 将数值列在最小值和最大值之间缩放
轮次 将数字四舍五入到指定的小数点
向下取整(地板) 将数字向下取整至最接近的整数
向上取整(天花板) 将数字向上取整至最近的整数
定制作 根据示例和现有列的推导自动创建新列

如果有缺少的作,并且希望Data Wrangler支持,请在我们的Data Wrangler GitHub仓库提交功能请求。

修改之前的步骤

生成代码的每个步骤都可以通过清洁步骤面板进行修改。首先,选择你想修改的步骤。然后,当你通过代码或作面板对作进行修改时,你对数据的影响会在网格视图中被突出显示。

一张显示如何修改之前步骤的截图

编辑和导出代码

完成数据整理步骤后,有三种方式可以导出清理后的数据集。

  1. 导出代码回 Notebook 并退出:这会在你的 Jupyter 笔记本中创建一个新单元格,里面包含你生成的所有数据清理代码,打包成一个 Python 函数。
  2. 导出数据到文件:这样清理后的数据集会保存为新的CSV或Parquet文件到你的电脑上。
  3. 复制代码到剪贴板:它复制了Data Wrangler为数据清理作生成的所有代码。

Data Wrangler 导出菜单的截图

搜索列

要在数据集中查找特定列,请从数据整理工具栏中选择“前往列”,并搜索相应列。

搜索栏的截图

故障排除

内核连接性问题

关于一般连接问题,请参见上文“连接 Python 内核”部分关于替代连接方法的介绍。为了调试与本地 Python 解释器选项相关的问题,一种可能解决问题的方法是安装不同版本的 Jupyter 和 Python 扩展。例如,如果安装了稳定版本的扩展,你可能会安装预发布版本(反之亦然)。

要清除已经缓存的内核,你可以运行数据整理器:清除缓存运行时命令来自命令调色板 ⇧⌘P(Windows,Linux Ctrl+Shift+P)。

打开数据文件会得到UnicodeDecodeError(统一码码错误)

如果你遇到UnicodeDecodeError(统一码码错误)当直接从Data Wrangler打开数据文件时,这种情况可能由以下两种原因引起:

  1. 你试图打开的文件有其他编码方式,除了UTF-8
  2. 文件损坏了。

要绕过这个错误,你需要从Jupyter笔记本中打开Data Wrangler,而不是直接从数据文件中打开。可以用 Jupyter Notebook 用 Pandas 读取文件,比如用 read_csv 方法。在阅读方法,使用以下编码和/或encoding_errors定义编码方式或处理编码错误的参数。如果你不知道哪种编码适用于这个文件,可以试试像chardet这样的库,试图推断出合适的编码。

问题与反馈

如果你遇到问题、功能请求或其他反馈,请在我们的GitHub仓库提交问题:https://github.com/microsoft/vscode-data-wrangler/issues/new/choose

数据与遥测

Microsoft Data Wrangler用于Visual Studio Code的扩展会收集使用数据并发送给Microsoft,以帮助改进我们的产品和服务。阅读我们的隐私声明以了解更多信息。该扩展尊重遥测。遥测水平你可以在 https://code.visualstudio.com/docs/configure/telemetry 上了解更多相关内容。