写在前面
Positron 是 Posit 公司开发的新一代数据科学 IDE,为 Python 和 R 语言提供了全方位数据科学支持,同时还提供了 AI 辅助功能。本系列推文为 Positron IDE 官方文档的中文笔记,软件可能随时更新,建议配合官方文档一起阅读。
官网教程:
https://positron.posit.co/data-explorer.html
目录
-
1 数据资源管理器
-
1.1 概述
-
1.2 数据网格
-
1.3 筛选栏
-
1.4 摘要面板
-
-
2 变量窗格
-
3 图表窗格
-
3.1 打开图表窗格
-
3.2 查看图表
-
3.3 图表库
-
3.4 图表设置
-
1 数据资源管理器
1.1 概述
数据资源管理器旨在补充以代码为先的数据探索方式,允许您以类似电子表格的网格形式显示数据,临时过滤和排序数据,并在 Positron 内部直接提供有用的汇总统计信息。数据资源管理器的目标并非取代基于代码的工作流,而是在您通过代码进一步探索或修改数据时,提供数据的临时视图或汇总统计信息作为补充。
数据资源管理器可用于查看 Positron 工作区中的原始数据文件(CSV、Parquet 等)以及活动 Python 或 R 会话中的数据框。
数据资源管理器包含三个主要组件:
-
数据网格(Data grid):类似电子表格的单元格和列显示
-
摘要面板(Summary panel):数据集中每列的汇总统计信息
-
筛选栏(Filter bar):针对特定列的临时筛选器

Data Explorer
打开数据资源管理器
有几种方式可以打开数据资源管理器。如果您想查看已加载到内存中的数据,可以导航到变量窗格,并为特定的数据框对象选择图标。
使用代码或控制台,您也可以运行以下命令之一:
-
Python 中:
%view dataframe label -
R 中:
View(dataframe, "label")
在 Python 中,%view 魔术命令也可以与表达式一起使用,例如 %view df[df['column'] > 10]。在 R 中,View 函数可以通过管道语法与表达式组合使用:
df |> mutate(doubled_column = column * 2) |> View()
通过在文件资源管理器中选择文件或使用命令面板,支持直接打开 .csv、.tsv 和 .parquet 文件(使用 DuckDB)。以 .gz 结尾的 GZIP 压缩 CSV 文件也可以打开。我们未来可能会添加对更多文件类型的支持。
以纯文本形式打开 CSV 文件:
在数据资源管理器中打开 CSV 文件后,如果您需要在文本编辑器中查看该文件,请选择顶部操作栏中的"以纯文本文件打开"选项。
1.2 数据网格
数据网格是主要的显示区域,提供类似电子表格的逐单元格视图。它的设计目标是高效扩展到相对较大的内存数据集,最高可达数百万行或列。

Data Explorer Grid Example
每个数据资源管理器实例都会监视底层数据的变化,因此如果您编辑数据文件或修改内存中的数据框,更改将反映在数据资源管理器中。
1.2.1 支持的数据框库
Python 支持 Pandas 和 Polars 数据框对象,R 支持 data.frame、tibble 和 data.table。还支持由连接窗格管理的数据库连接的预览(适用于 Python 和 R)。
根据用户反馈,我们可能会添加对其他提供表格数据接口的库的支持。
1.2.2 列概览
每个列标题在数据类型上方显示列名,数据类型取决于后端类型(语言运行时或 DuckDB)。
每列的右上角有一个上下文菜单,用于执行特定于列的操作。

Data Explorer Column Menu
列可以通过选择并拖动任一侧的边框来调整大小。
1.2.3 行概览
行标签默认为观察到的行索引,Python 中使用基于零的索引,R 中使用基于一的索引。此外,pandas 和 R 用户也可能具有修改后的索引或基于字符串的标签。
右键单击行标题将弹出一个上下文菜单,用于执行特定于行的操作。

Data Explorer Row Menu
1.2.4 单元格概览
对于无法完全适应网格单元格的长字符串或其他数据值,您可以将鼠标悬停在单元格上以查看包含完整值的工具提示。

Data Explorer Cell Value Tooltip
右键单击单元格或按 Shift+F10 将弹出一个上下文菜单,用于执行特定于单元格的操作。

Data Explorer Cell Menu
当焦点在单元格上时,您可以通过按 Alt+Shift+F10 调出行标题菜单。可以通过按 Ctrl+Shift+F10 调出列标题菜单。
1.2.5 排序
要对列中的值进行排序,请从网格顶部打开列上下文菜单,然后选择"升序排序"或"降序排序"。

Data Explorer Column Menu
要清除单列排序,请选择列标题并从上下文菜单中选择"清除排序"。
当列被排序时,列标题会显示向上或向下的箭头以指示排序方向。您可以通过打开第二列的上下文菜单并同样对其进行排序来按多列排序。排序方向旁边的数字表示列的排序顺序。

Sorting Data by Multiple Columns
要清除所有排序,请选择顶部操作栏中的"清除列排序"按钮。
1.2.6 固定列和行
您可以固定列和行,以便在滚动大型数据集时保持它们可见。固定列显示在网格左侧,固定行显示在顶部。
固定列
要固定列,请右键单击列标题并从上下文菜单中选择 Pin Column 。该列将移动到网格左侧,并在水平滚动时保持可见。 要取消固定列,请右键单击固定的列标题并从上下文菜单中选择 Unpin Column。
固定行
要固定行,请右键单击行标题并从上下文菜单中选择 Pin Row 。该行将移动到网格顶部,并在垂直滚动时保持可见。 要取消固定行,请右键单击固定的行标题并从上下文菜单中选择 Unpin Row。
固定多个项目
您可以固定多个列和行。固定列按照您固定的顺序显示,从最左侧位置开始。固定行按照您固定的顺序显示,从最顶部开始。
1.2.7 选择、复制和粘贴
数据网格提供类似电子表格的复制粘贴功能。您可以选择:
-
单个单元格
-
矩形单元格区域
-
一行或多行
-
一列或多列
要复制单个值,请选择一个单元格并按 Ctrl+C。您也可以使用右键单击上下文菜单复制该值。
要复制矩形单元格区域,请选择一个单元格,然后按住 Shift 并选择另一个单元格以定义区域。按 Ctrl+C 或使用上下文菜单复制值。

Copying a Rectangular Range of Cells
当您复制矩形单元格区域时,系统会以制表符分隔的格式复制带有列名的值。这种格式使粘贴到 Excel 或 Google Sheets 中更加容易。
要复制整行或整列,请选择第一个行标签或列标签。然后按住 Shift 并选择另一个行标签或列标签以定义范围,或者按住 Ctrl 并选择其他标签以选择单个行或列。

Copying Multiple Data Rows

Copying Multiple Data Columns
当您复制整行或整列时,系统会在制表符分隔的输出中包含列名,类似于复制矩形单元格区域。
1.3 筛选栏
筛选栏提供以下控件:
-
添加筛选器:为数据创建新筛选器
-
显示/隐藏筛选器:切换筛选器可见性
-
清除筛选器:移除所有已应用的筛选器
-
转换为代码:从当前筛选器生成可复用代码
底部的状态栏显示应用筛选器后主数据网格剩余行数的百分比和数量。
1.3.1 添加筛选器
要创建新筛选器:
-
从"管理筛选器"下拉菜单或筛选栏中的 添加筛选器 按钮中选择
-
从列表中选择一个列
-
从该列类型可用的筛选选项中进行选择
-
配置筛选器参数
您也可以直接从数据网格创建筛选器:右键单击某列,然后从上下文菜单中选择"添加筛选器"。此方法会预填列名。
按列类型分类的筛选器
某些筛选器适用于所有列类型,例如检查相等性、空值或缺失值。可用的筛选器还取决于具体的列数据类型。以下是常见列类型筛选器的示例:
-
字符串列:包含、以...开头或以...结尾、为空、等于
-
数值列:小于或大于、等于、介于两个值之间(包含)
有关排序功能,请参阅数据网格文档。
1.3.2 显示或隐藏筛选器
要切换筛选器可见性,请从"管理筛选器"下拉菜单中选择"显示筛选器"或"隐藏筛选器"。
当筛选器隐藏时,数据仍保持筛选状态,只有筛选控件从视图中隐藏。隐藏筛选器可提供更多屏幕空间来查看数据。
1.3.3 清除筛选器
要移除所有已应用的筛选器,请从"管理筛选器"下拉菜单中选择"清除筛选器"。所有筛选器将被移除,数据将恢复其原始状态。您也可以通过点击每个筛选器控件上的 关闭 按钮来移除单个筛选器。
1.3.4 转换为代码
数据资源管理器在顶部操作栏中包括一个"转换为代码"按钮。该按钮会编写 Python 或 R 代码,以重现您当前的数据视图,包括您在探索过程中应用的任何筛选器或排序。这使您能够快速将交互式探索捕获为可复现的代码。
要将数据资源管理器视图转换为代码:
-
在数据资源管理器中应用任何筛选器、排序或其他转换
-
选择顶部操作栏中的"转换为代码"按钮
-
在模态框中预览代码
-
选择"复制到剪贴板"以复制代码,粘贴到控制台、脚本或任何其他位置
该代码引用会话中已加载的数据框对象,而不是从磁盘读取数据。"转换为代码"按钮会为您的数据框类型编写相应的代码:
-
pandas 数据框生成 pandas 代码
-
polars 数据框生成 polars 代码(并可选择转换为 pandas 代码)
-
R 数据框和 tibble 生成带有管道语法的 dplyr 代码
-
直接打开的文件(.csv、.tsv、.parquet)生成 DuckDB SQL 代码
1.4 摘要面板
摘要面板显示所有列名的可滚动列表,并带有表示数据类型的图标。每列都有一个列数据的迷你趋势图或频率表。列的缺失数据显示为内联条形图和百分比。
选择列名旁边的 展开 图标可以展开该列并查看其他汇总统计信息和更大的迷你趋势图。
双击列名可将该列聚焦在主数据网格中,从而在较宽的数据集中快速导航。
1.4.1 加载指示器
初次打开数据资源管理器或使用滚动、筛选、排序等功能时,您可能会在摘要面板和窗口左下角看到加载指示器:

Data Explorer Loading Indicators
1.4.2 工具提示
当您将鼠标悬停在摘要迷你趋势图和缺失数据指示器上时,会显示工具提示。

Sparkline Tooltip

Missing Data Tooltip
当您将鼠标悬停在列名旁边的数据类型指示器上时,工具提示会显示列数据类型的名称。

Data Explorer Summary Data Type Tooltip
如果列有标签,工具提示会包含该标签。

Data Explorer Column Label
1.4.3 搜索和排序列
搜索列
要在摘要面板中搜索特定列,请在摘要面板搜索栏中输入列名的部分内容。摘要面板将显示与搜索文本任何部分匹配的列。搜索会更改摘要面板的显示,但不会影响主数据网格。
排序列
要对摘要面板中的列进行排序,请从排序下拉菜单中选择以下选项之一:
-
按原始顺序:按原始顺序显示列
-
按名称升序:按列名 A 到 Z 排序
-
按名称降序:按列名 Z 到 A 排序
-
按类型升序:按数据类型字母顺序排序(float、integer、string)
-
按类型降序:按数据类型反向字母顺序排序(string、integer、float)
排序会更改摘要面板的显示,但不会影响主数据网格。
1.4.4 面板布局和设置
您可以通过选择 折叠/展开 按钮或拖动网格与摘要面板的分隔线来折叠或展开摘要面板。
您还可以使用命令 Positron Data Explorer: Summary on Left 或 Positron Data Explorer: Summary on Right 将摘要面板放置在数据资源管理器的左侧或右侧。
您可以在 Positron 设置中更改 dataExplorer.summaryCollapsed 或 dataExplorer.summaryLayout 的默认设置。
2 变量窗格
变量窗格允许您查看 Python 或 R 会话中的变量,默认位于次侧边栏中。
除了变量之外,如果适用,它还会显示会话中的数据表和任何打开的连接。

Variables pane
查看变量
如果变量窗格尚未显示,您可以通过选择 View > Variables 或从命令面板运行 Session: Focus on Variables View 来打开它。
查看数据表
如果您的会话包含数据表,它们将显示在变量窗格的 DATA 部分。有关查看数据表的更多信息,请参阅数据资源管理器部分。
3 图表窗格
图表窗格显示从 Python 或 R 会话生成的可视化图表,默认位于次侧边栏中。

Plots pane
3.1 打开图表窗格
如果图表窗格尚未显示,您可以通过以下方式访问它:
-
从菜单栏选择 View > Plots
-
从命令面板运行
Session: Focus on Plots View
3.2 查看图表
当您在 Python 或 R 中创建图表时,它会自动显示在图表窗格中。该窗格会维护会话期间生成的所有图表的历史记录,允许您在它们之间来回导航。每个图表都会显示创建它的会话(Python 或 R)。
图表历史导航
使用图表窗格工具栏中的导航箭头浏览图表历史记录:
-
← 显示上一个图表
-
→ 显示下一个图表
缩放
您可以放大图表以更仔细地检查细节。使用工具栏中的缩放控件,或在编辑器选项卡或新窗口中打开图表。
导航到图表源代码
图表窗格可以导航到、复制或重新运行创建图表的代码。选择工具栏中的 更多操作 图标以访问这些操作。
保存和导出图表
图表窗格提供了多种保存和共享可视化的选项:
-
复制图表到剪贴板:将当前图表复制到剪贴板,以便粘贴到其他应用程序中
-
保存图表:以各种格式(PNG、SVG、PDF 等)将图表导出到文件
3.3 图表库
要将整个图表窗格界面弹出到单独的辅助窗口,可以运行命令 Plots: Open Plots Gallery in New Window 或从图表窗格操作栏中选择 在新窗口中打开图表库 图标。
3.4 图表设置
以下关键设置控制您与数据可视化的交互方式:
-
plots.defaultSizingPolicy:新创建图表的默认大小调整策略 -
plots.darkFilter:使用颜色滤镜使浅色图表显示为深色 -
plots.freezeSlowPlots:将生成缓慢的图表固定在固定大小,以避免在视口更改时重复渲染 -
plots.historyPolicy:控制图表历史胶片条的可见性
--------------- 结束 ---------------
注:本文为个人学习笔记,仅供大家参考学习,不得用于任何商业目的。如有侵权,请联系作者删除。
