添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

数据整理器 是一种基于笔记本的探索性数据分析工具,现在支持 Spark 数据帧和 pandas 数据帧,除了 Python 代码之外还可以生成 PySpark 代码。 有关数据整理器的总体概述(其中介绍了如何探索和转换 pandas 数据帧),请参阅 主教程 。 以下教程展示了如何使用数据整理器来探索和转换 Spark 数据帧。

此功能目前为 预览版

  • 获取 Microsoft Fabric 订阅 。 或者注册免费的 Microsoft Fabric 试用版

  • 登录 Microsoft Fabric

  • 使用主页左侧的体验切换器图标切换到数据科学体验。

    使用 Spark 数据帧启动数据整理器

    用户可以直接从 Microsoft Fabric 笔记本中打开数据整理器中的 Spark 数据帧,方法是导航到显示 pandas 数据帧的同一下拉提示。 活动 Spark 数据帧的列表出现在活动 pandas 变量列表下方的下拉提示中。

    下一个代码片段使用 pandas 数据整理器教程 中使用的相同示例数据创建 Spark 数据帧:

    import pandas as pd
    # Read a CSV into a Spark DataFrame
    df = spark.createDataFrame(pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/titanic.csv"))
    display(df)
    

    在笔记本功能区“数据”选项卡下,使用数据整理器下拉提示浏览可编辑的活动数据帧。 选择要在数据整理器中打开的 Pandas DataFrames。

    当笔记本内核繁忙时,无法打开数据整理器。 执行单元格必须先完成其执行,然后才可启动数据整理器。

    选择自定义示例

    出于性能原因,数据整理器会自动将 Spark 数据帧转换为 pandas 示例。 但是,该工具生成的所有代码最终都会在导出回笔记本时转换为 PySpark。 与任何 pandas 数据帧一样,可以通过从数据整理器下拉菜单中选择“选择自定义示例”来自定义默认示例。 执行此操作会启动一个弹出项,其中包含用于指定所需示例大小(行数)和采样方法(第一条记录、最后一条记录或随机集)的选项。

    查看摘要统计信息

    当数据整理器加载时,预览网格上方的信息横幅会提醒你 Spark 数据帧暂时转换为 pandas 示例,但所有生成的代码最终都会转换为 PySpark。 在 Spark 数据帧上使用数据整理器与在 pandas 数据帧上使用数据整理器没有区别。 “摘要”面板中的描述性概述显示有关示例维度、缺失值等的信息。 选择“数据整理器”网格中的任何列将提示“摘要”面板更新并显示有关该特定列的描述性统计信息。 其标头中还会提供有关每列的快速见解。

    列特定的统计信息和视觉效果(在“摘要”面板和列标题中)取决于列数据类型。 例如,仅当列强制转换为数值类型时,数值列的装箱直方图才会显示在列标头中。 使用“操作”面板可重新转换列类型,以便最准确地显示。

    浏览数据清理操作

    可以在“操作”面板中找到数据清理步骤的可搜索列表。 (每列的上下文菜单中还提供了相同操作的少量选择。)在“操作”面板中,选择数据清理步骤会提示你提供一个或多个目标列,以及完成该步骤所需的任何参数。 例如,提示以数字方式缩放列需要新的值范围。

    预览和应用操作

    所选操作的结果会自动在数据整理器显示网格中预览,并且相应的代码会自动出现在网格下方的面板中。 若要提交预览的代码,请选择任一位置的“应用”。 若要删除预览的代码并尝试新操作,请选择“放弃”。

    应用操作后,数据整理器显示网格和摘要统计信息将更新以反映结果。 该代码显示在已提交操作的运行列表中,位于“清理步骤”面板中。

    始终可以使用旁边的回收站图标撤消最近应用的步骤,如果将光标悬停在“清理步骤”面板中的该步骤上,将显示该步骤。

    下表总结了数据整理器目前支持的 Spark 数据帧操作:

    保存和导出代码

    数据整理器显示网格上方的工具栏提供了保存生成的代码的选项。 可以将代码复制到剪贴板或将其作为函数导出到笔记本。 对于 Spark 数据帧,pandas 示例上生成的所有代码在返回笔记本之前都会转换为 PySpark。 在数据整理器关闭之前,该工具会显示翻译后的 PySpark 代码的预览,并提供导出中间 pandas 代码的选项。

    在手动运行新单元格之前,不会应用数据整理器生成的代码,也不会覆盖原始 DataFrame。

  •