VS Code 中 Data Wrangler 入门
Data Wrangler 是一款以代码为中心的数据查看和清理工具,它集成在 VS Code 和 VS Code Jupyter Notebooks 中。它提供了一个丰富的用户界面,用于查看和分析你的数据,显示富有洞察力的列统计信息和可视化,并在你清理和转换数据时自动生成 Pandas 代码。
以下是从笔记本中打开 Data Wrangler 并使用内置操作分析和清理数据的示例。然后,自动生成的代码将导出回笔记本。
本文档涵盖如何
- 安装和设置 Data Wrangler
- 从笔记本启动 Data Wrangler
- 从数据文件启动 Data Wrangler
- 使用 Data Wrangler 探索你的数据
- 使用 Data Wrangler 对你的数据执行操作和清理
- 编辑数据整理代码并将其导出到笔记本
- 故障排除和提供反馈
设置你的环境
- 如果你还没有安装,请安装 Python。重要提示:Data Wrangler 仅支持 Python 3.8 或更高版本。
- 安装 Visual Studio Code。
- 安装 Data Wrangler 扩展
当你第一次启动 Data Wrangler 时,它会询问你希望连接到哪个 Python 内核。它还会检查你的机器和环境,查看是否安装了所需的 Python 包,例如 Pandas。
以下是 Python 和 Python 包的所需版本列表,以及它们是否由 Data Wrangler 自动安装
名称 | 最低要求版本 | 自动安装 |
---|---|---|
Python | 3.8 | 否 |
pandas | 0.25.2 | 是 |
如果在你的环境中未找到这些依赖项,Data Wrangler 将尝试使用 pip
为你安装它们。如果 Data Wrangler 无法安装依赖项,最简单的解决方法是手动运行 pip install
,然后再次启动 Data Wrangler。Data Wrangler 需要这些依赖项才能生成 Python 和 Pandas 代码。
打开 Data Wrangler
无论何时你使用 Data Wrangler,你都处于一个沙盒环境中,这意味着你可以安全地探索和转换数据。原始数据集在你明确导出更改之前不会被修改。
从 Jupyter Notebook 启动 Data Wrangler
有三种方法可以从你的 Jupyter Notebook 启动 Data Wrangler
- 在 Jupyter > 变量面板中,在任何受支持的数据对象旁边,你都可以看到一个用于启动 Data Wrangler 的按钮。
- 如果你的笔记本中有一个 Pandas 数据框,你现在可以在运行输出数据框的代码后,在单元格底部看到一个在 Data Wrangler 中打开 'df' 按钮(其中 'df' 是你的数据框的变量名)。这包括 1)
df.head()
, 2)df.tail()
, 3)display(df)
, 4)print(df)
, 5)df
。 - 在笔记本工具栏中,选择查看数据会弹出一个列表,其中包含笔记本中所有受支持的数据对象。然后你可以选择该列表中你希望在 Data Wrangler 中打开的变量。
直接从文件启动 Data Wrangler
你也可以直接从本地文件(例如 .csv
文件)启动 Data Wrangler。为此,在 VS Code 中打开包含你想要打开的文件的任何文件夹。在文件资源管理器视图中,右键单击该文件,然后点击在 Data Wrangler 中打开。
Data Wrangler 目前支持以下文件类型
.csv
/.tsv
.xls
/.xlsx
.parquet
根据文件类型,你可以指定文件的分隔符和/或工作表。
你还可以将这些文件类型设置为默认使用 Data Wrangler 打开。
UI 导览
Data Wrangler 在处理数据时有两种模式。每种模式的详细信息将在下面的后续部分中进行解释。
- 查看模式:查看模式优化了界面,使你能够快速查看、筛选和排序数据。此模式非常适合对数据集进行初步探索。
- 编辑模式:编辑模式优化了界面,使你能够对数据集应用转换、清理或修改。当你在界面中应用这些转换时,Data Wrangler 会自动生成相关的 Pandas 代码,这些代码可以导出回你的笔记本以供重用。
注意:默认情况下,Data Wrangler 以查看模式打开。你可以在“设置”编辑器中更改此行为 。
查看模式界面
-
如果选择了特定列,数据摘要面板会显示你的整体数据集或该列的详细摘要统计信息。
-
你可以从列的标题菜单中对列应用任何数据筛选/排序。
-
在 Data Wrangler 的查看或编辑模式之间切换,以访问内置数据操作。
-
快速洞察标题是你快速查看每列有价值信息的地方。根据列的数据类型,快速洞察会显示数据的分布或数据点的频率,以及缺失值和唯一值。
-
数据网格为你提供了一个可滚动窗格,你可以在其中查看整个数据集。
编辑模式界面
切换到编辑模式会启用 Data Wrangler 中的额外功能和用户界面元素。在下面的屏幕截图中,我们使用 Data Wrangler 将最后一列中的缺失值替换为该列的中位数。
-
操作面板是你搜索 Data Wrangler 所有内置数据操作的地方。这些操作按类别组织。
-
清理步骤面板显示了以前已应用的所有操作的列表。它使用户能够撤消特定操作或编辑最新操作。选择一个步骤将突出显示数据差异视图中的更改,并显示与该操作相关的生成代码。
-
导出菜单允许你将代码导出回 Jupyter Notebook 或将数据导出到新文件。
-
当你选择了一个操作并正在预览其对数据的影响时,网格会叠加显示一个数据差异视图,显示你对数据所做的更改。
-
代码预览部分显示了 Data Wrangler 在选择操作时生成的 Python 和 Pandas 代码。未选择操作时,该部分为空。你可以编辑生成的代码,这将导致数据网格突出显示对数据的影响。
Data Wrangler 操作
内置的 Data Wrangler 操作可以从操作面板中选择。
下表列出了 Data Wrangler 初始版本目前支持的 Data Wrangler 操作。我们计划在不久的将来添加更多操作。
操作 | 描述 |
---|---|
排序 | 按升序或降序排序一列或多列 |
筛选 | 根据一个或多个条件筛选行 |
计算文本长度 | 创建新列,其值等于文本列中每个字符串值的长度 |
独热编码 | 将分类数据拆分为每个类别的新列 |
多标签二值化 | 使用分隔符将分类数据拆分为每个类别的新列 |
从公式创建列 | 使用自定义 Python 公式创建列 |
更改列类型 | 更改列的数据类型 |
删除列 | 删除一列或多列 |
选择列 | 选择要保留的一列或多列,并删除其余列 |
重命名列 | 重命名一列或多列 |
克隆列 | 创建一列或多列的副本 |
删除缺失值 | 删除包含缺失值的行 |
删除重复行 | 删除在一列或多列中具有重复值的所有行 |
填充缺失值 | 用新值替换包含缺失值的单元格 |
查找并替换 | 用匹配模式替换单元格 |
按列分组并聚合 | 按列分组并聚合结果 |
去除空白字符 | 去除文本开头和结尾的空白字符 |
拆分文本 | 根据用户定义的分隔符将一列拆分为多列 |
首字母大写 | 将第一个字符转换为大写,其余转换为小写 |
将文本转换为小写 | 将文本转换为小写 |
将文本转换为大写 | 将文本转换为大写 |
通过示例进行字符串转换 | 当你提供的示例中检测到模式时,自动执行字符串转换 |
通过示例进行日期时间格式化 | 当你提供的示例中检测到模式时,自动执行日期时间格式化 |
通过示例创建新列 | 当你提供的示例中检测到模式时,自动创建一列。 |
缩放最小值/最大值 | 将数值列缩放到最小值和最大值之间 |
四舍五入 | 将数字四舍五入到指定的小数位数 |
向下取整(向下舍入) | 将数字向下舍入到最近的整数 |
向上取整(向上舍入) | 将数字向上舍入到最近的整数 |
自定义操作 | 根据示例和现有列的派生自动创建新列 |
如果缺少你希望 Data Wrangler 支持的操作,请在我们的 Data Wrangler GitHub 存储库中提交功能请求。
修改上一步骤
生成的代码的每个步骤都可以通过清理步骤面板进行修改。首先,选择你想要修改的步骤。然后,当你对操作进行更改时(通过代码或操作面板),你的更改对数据的影响将在网格视图中突出显示。
编辑并导出代码
在 Data Wrangler 中完成数据清理步骤后,有三种方法可以从 Data Wrangler 导出清理后的数据集。
- 将代码导出回笔记本并退出:这会在你的 Jupyter Notebook 中创建一个新单元格,其中包含所有你生成的数据清理代码,并将其打包成一个 Python 函数。
- 将数据导出到文件:这将清理后的数据集作为新的 CSV 或 Parquet 文件保存到你的机器上。
- 将代码复制到剪贴板:这将复制 Data Wrangler 为数据清理操作生成的所有代码。
搜索列
要在数据集中查找特定列,请从 Data Wrangler 工具栏中选择转到列并搜索相应列。
故障排除
常见内核连接问题
对于常见的连接问题,请参阅上面“连接到 Python 内核”部分中关于替代连接方法的内容。要调试与本地 Python 解释器选项相关的问题,一种可能的解决方法是安装不同版本的 Jupyter 和 Python 扩展。例如,如果安装了稳定版本的扩展,你可能需要安装预发布版本(反之亦然)。
要清除已缓存的内核,你可以从命令面板运行 Data Wrangler: Clear cached runtime
命令 ⇧⌘P (Windows, Linux Ctrl+Shift+P)。
打开数据文件时出现 UnicodeDecodeError
如果你在直接从 Data Wrangler 打开数据文件时遇到 UnicodeDecodeError
,这可能是由两个可能的问题引起的
- 你尝试打开的文件编码不是
UTF-8
- 文件已损坏。
要解决此错误,你需要从 Jupyter Notebook 而不是直接从数据文件打开 Data Wrangler。使用 Jupyter Notebook 通过 Pandas 读取文件,例如使用 read_csv 方法。在 read
方法中,使用 encoding
和/或 encoding_errors
参数来定义要使用的编码或如何处理编码错误。如果你不知道哪个编码可能适用于此文件,你可以尝试使用 chardet 等库来推断一个可用的编码。
问题和反馈
如果你遇到问题、有功能请求或任何其他反馈,请在我们的 GitHub 存储库中提交 Issue:https://github.com/microsoft/vscode-data-wrangler/issues/new/choose
数据和遥测
适用于 Visual Studio Code 的 Microsoft Data Wrangler 扩展收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。阅读我们的隐私声明以了解更多信息。此扩展尊重 telemetry.telemetryLevel
设置,你可以在 https://vscode.js.cn/docs/configure/telemetry 上了解更多信息。