Dataset 类

表示在 Azure 机器学习中用于探索、转换和管理数据的资源。

Dataset 是对 Datastore 中或公共 Web URL 后面的数据的引用。

对于此类中已弃用的方法,请查看 AbstractDataset 类以获取改进的 API。

支持以下数据集类型:

  • TabularDataset 表示表格格式的、通过分析提供的文件或文件列表所创建的数据。

  • FileDataset 引用数据存储或公共 URL 中的单个或多个文件。

若要开始使用数据集,请参阅 添加 & 注册数据集一文,或查看笔记本 https://aka.ms/tabulardataset-samplenotebookhttps://aka.ms/filedataset-samplenotebook

初始化 Dataset 对象。

若要获取已向工作区注册的数据集,请使用 get 方法。

继承
builtins.object
Dataset

构造函数

Dataset(definition, workspace=None, name=None, id=None)

参数

名称 说明
definition
必需
<xref:azureml.data.DatasetDefinition>

Dataset 定义。

workspace
必需

数据集所在的工作区。

name
必需
str

数据集的名称。

id
必需
str

数据集的唯一标识符。

注解

Dataset 类公开了两个方便的类属性(FileTabular),你可使用它们创建数据集,而无需使用相应的工厂方法。 例如,可使用这些属性创建数据集:

  • Dataset.Tabular.from_delimited_files()

  • Dataset.File.from_files()

还可以通过直接调用 TabularDatasetFactoryFileDatasetFactory 中定义的类的相应工厂方法来创建新的 TabularDataset 或 FileDataset。

以下示例演示如何创建一个指向数据存储中单个路径的 TabularDataset。


   from azureml.core import Dataset
   dataset = Dataset.Tabular.from_delimited_files(path = [(datastore, 'train-dataset/tabular/iris.csv')])

   # preview the first 3 rows of the dataset
   dataset.take(3).to_pandas_dataframe()

完整示例可从 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datasets-tutorial/train-with-datasets/train-with-datasets.ipynb 获取

变量

名称 说明
azureml.core.Dataset.File

一个类属性,可提供对用于创建新的 FileDataset 对象的 FileDatasetFactory 方法的访问。 用法:Dataset.File.from_files()。

azureml.core.Dataset.Tabular

一个类属性,可提供对用于创建新的 TabularDataset 对象的 TabularDatasetFactory 方法的访问。 用法:Dataset.Tabular.from_delimited_files()。

方法

archive

将活动的数据集或已弃用的数据集存档。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

auto_read_files

分析指定路径的文件,并返回新的 Dataset。

注意

此方法已弃用,将不再受支持。

建议使用 Dataset.Tabular.from_* 方法读取文件。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

compare_profiles

将当前 Dataset 的配置文件与另一个数据集配置文件进行比较。

这显示了两个数据集之间的摘要统计信息差异。 参数“rhs_dataset”表示“右侧”,只是第二个数据集。 第一个数据集(当前数据集对象)被视为“左侧”。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

create_snapshot

创建已注册 Dataset 的快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

delete_snapshot

按名称删除 Dataset 的快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

deprecate

由另一个数据集弃用工作区中的活动数据集。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

diff

区分当前 Dataset 与 rhs_dataset。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

from_binary_files

从二进制文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.File.from_files 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

from_delimited_files

从分隔的文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_delimited_files。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation


   # Create a dataset from delimited files with header option as ALL_FILES_HAVE_SAME_HEADERS
   dataset = Dataset.Tabular.from_delimited_files(path=(datastore, 'data/crime-spring.csv'),
       header='ALL_FILES_HAVE_SAME_HEADERS')

   df = dataset.to_pandas_dataframe()
from_excel_files

从 Excel 文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

from_json_files

从 JSON 文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_json_lines_files 来读取 JSON 行文件。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

from_pandas_dataframe

从 Pandas DataFrame 创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.register_pandas_dataframe。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

from_parquet_files

从 Parquet 文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_parquet_files。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

from_sql_query

从 SQL 查询创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_sql_query。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

generate_profile

为 Dataset 生成新的配置文件。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get

通过指定 Dataset 的名称或 ID,获取该工作区中已存在的 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 get_by_nameget_by_id。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_all

获取工作区中所有已注册的数据集。

get_all_snapshots

获取 Dataset 的所有快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_by_id

获取保存到工作区的 Dataset。

get_by_name

按 Dataset 注册名称从工作区获取已注册的 Dataset。

get_definition

获取 Dataset 的特定定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_definitions

获取 Dataset 的所有定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_profile

获取之前计算的 Dataset 的摘要统计信息。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_snapshot

按名称获取 Dataset 的快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

head

从此 Dataset 中拉取指定数量的记录并将其作为 DataFrame 返回。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

list

列出工作区中的所有 Dataset,包括那些 is_visible 属性为 False 的 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 get_all。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

reactivate

重新激活已存档的数据集或已弃用的数据集。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

register

在工作区中注册 Dataset,使其可供工作区的其他用户使用。

注意

此方法已弃用,将不再受支持。

建议改用 register。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

sample

使用提供的采样策略和参数从源 Dataset 中生成新的示例。

注意

此方法已弃用,将不再受支持。

通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 take_sample 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

to_pandas_dataframe

通过执行由此 Dataset 定义所定义的转换管道来创建 Pandas DataFrame。

注意

此方法已弃用,将不再受支持。

通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 to_pandas_dataframe 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

to_spark_dataframe

创建可执行由此 Dataset 定义所定义的转换管道的 Spark DataFrame。

注意

此方法已弃用,将不再受支持。

通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 to_spark_dataframe 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

update

更新工作区中的 Dataset 可变属性,并从工作区返回更新后的 Dataset。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

update_definition

更新 Dataset 定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

archive

将活动的数据集或已弃用的数据集存档。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

archive()

返回

类型 说明

无。

注解

存档后,尝试使用 Dataset 会导致出错。 如果意外存档,重新激活将激活它。

auto_read_files

分析指定路径的文件,并返回新的 Dataset。

注意

此方法已弃用,将不再受支持。

建议使用 Dataset.Tabular.from_* 方法读取文件。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static auto_read_files(path, include_path=False, partition_format=None)

参数

名称 说明
path
必需

已注册的数据存储中的数据路径、本地路径或 HTTP URL (CSV/TSV)。

include_path
必需

是否包含一个列,该列包含从其中读取数据的文件的路径。 当读取多个文件,并且想要知道特定记录源自哪个文件时,这非常有用。 如果文件路径或名称的列中包含所需信息,也很有用。

partition_format
必需
str

在路径中指定分区格式,并创建格式为“{x}”的字符串列和格式为“{x:yyyy/MM/dd/HH/mm/ss}”的“日期/时间”列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应该从第一个分区键的位置开始,直到文件路径的结尾。 例如,给定文件路径“../Accounts/2019/01/01/data.csv”,其中数据按部门名称和时间分区,我们可以定义“/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv”,以创建字符串类型的列“Department”和日期/时间类型的“PartitionDate”。

返回

类型 说明

Dataset 对象。

注解

在自动检测到文件格式和分隔符时,请使用此方法。

创建 Dataset 后,应使用 get_profile 列出检测到的列类型和每列的摘要统计信息。

返回的 Dataset 未注册到工作区。

compare_profiles

将当前 Dataset 的配置文件与另一个数据集配置文件进行比较。

这显示了两个数据集之间的摘要统计信息差异。 参数“rhs_dataset”表示“右侧”,只是第二个数据集。 第一个数据集(当前数据集对象)被视为“左侧”。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

compare_profiles(rhs_dataset, profile_arguments={}, include_columns=None, exclude_columns=None, histogram_compare_method=HistogramCompareMethod.WASSERSTEIN)

参数

名称 说明
rhs_dataset
必需

第二个 Dataset(也称为“右侧”Dataset)用于比较。

profile_arguments
必需

用于检索特定配置文件的参数。

include_columns
必需

要包括在比较中的列名的列表。

exclude_columns
必需

要从比较中排除的列名的列表。

histogram_compare_method
必需

用于描述比较方法的枚举,例如:Wasserstein 或 Energy

返回

类型 说明
<xref:azureml.dataprep.api.engineapi.typedefinitions.DataProfileDifference>

两个数据集配置文件的差异。

注解

这仅适用于已注册的 Dataset。 如果当前 Dataset 的配置文件不存在,则会引发异常。 对于未注册的 Dataset,请使用 profile.compare 方法。

create_snapshot

创建已注册 Dataset 的快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

create_snapshot(snapshot_name, compute_target=None, create_data_snapshot=False, target_datastore=None)

参数

名称 说明
snapshot_name
必需
str

快照名称。 快照名称在 Dataset 中应是唯一的。

compute_target
必需

可选的计算目标,用于执行快照配置文件创建操作。 如果省略该项,则使用本地计算。

create_data_snapshot
必需

如果该项为 True,则创建数据的具体化副本。

target_datastore
必需

用于保存快照的目标数据存储。 如果省略该项,将在工作区的默认存储中创建快照。

返回

类型 说明

Dataset 快照对象。

注解

快照捕获基础数据的时间点摘要统计信息和数据本身的可选副本。 若要详细了解如何创建快照,请转到 https://aka.ms/azureml/howto/createsnapshots

delete_snapshot

按名称删除 Dataset 的快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

delete_snapshot(snapshot_name)

参数

名称 说明
snapshot_name
必需
str

快照名称。

返回

类型 说明

无。

注解

使用此功能可释放由不再需要的快照中保存的数据所占用的存储。

deprecate

由另一个数据集弃用工作区中的活动数据集。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

deprecate(deprecate_by_dataset_id)

参数

名称 说明
deprecate_by_dataset_id
必需
str

Dataset ID,它是此 Dataset 的目标替换项。

返回

类型 说明

无。

注解

使用弃用的 Dataset 时,该 Dataset 将记录警告。 弃用的 Dataset 将弃用其所有定义。

仍可使用弃用的 Dataset。 若要完全阻止使用 Dataset,请将其存档。

如果意外弃用,重新激活将激活它。

diff

区分当前 Dataset 与 rhs_dataset。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

diff(rhs_dataset, compute_target=None, columns=None)

参数

名称 说明
rhs_dataset
必需

另一个 Dataset(也称为“右侧”Dataset)用于比较

compute_target
必需

用于执行差异方法的计算目标。 如果省略该项,则使用本地计算。

columns
必需

要包括在差异中的列名的列表。

返回

类型 说明

Dataset 操作运行对象。

from_binary_files

从二进制文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.File.from_files 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static from_binary_files(path)

参数

名称 说明
path
必需

已注册的数据存储或本地路径中的数据路径。

返回

类型 说明

Dataset 对象。

注解

使用此方法以二进制数据流形式读取文件。 返回每个文件读取的一个文件流对象。 读取图像、视频、音频或其他二进制数据时,请使用此方法。

对于通过此方法创建的数据集,get_profilecreate_snapshot 将无法按预期工作。

返回的 Dataset 未注册到工作区。

from_delimited_files

从分隔的文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_delimited_files。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation


   # Create a dataset from delimited files with header option as ALL_FILES_HAVE_SAME_HEADERS
   dataset = Dataset.Tabular.from_delimited_files(path=(datastore, 'data/crime-spring.csv'),
       header='ALL_FILES_HAVE_SAME_HEADERS')

   df = dataset.to_pandas_dataframe()
static from_delimited_files(path, separator=',', header=PromoteHeadersBehavior.ALL_FILES_HAVE_SAME_HEADERS, encoding=FileEncoding.UTF8, quoting=False, infer_column_types=True, skip_rows=0, skip_mode=SkipLinesBehavior.NO_ROWS, comment=None, include_path=False, archive_options=None, partition_format=None)

参数

名称 说明
path
必需

已注册的数据存储中的数据路径、本地路径或 HTTP URL。

separator
必需
str

用于拆分列的分隔符。

header
必需

控制在读取文件时如何提升列标题。

encoding
必需

正在读取的文件的编码。

quoting
必需

指定如何处理引号内的换行符。 默认值 (False) 将换行符解释为开始新行,而不考虑换行符是否在引号内。 如果该项设置为 True,则引号内的换行符将不会生成新行,并且文件读取速度会变慢。

infer_column_types
必需

指示是否推断列数据类型。

skip_rows
必需
int

正在读取的文件中要跳过的行数。

skip_mode
必需

控制从文件读取时如何跳过行。

comment
必需
str

用于指示正在读取的文件中的注释行的字符。 将跳过以该字符串开头的行。

include_path
必需

是否包含一个列,该列包含从其中读取数据的文件的路径。 当你读取多个文件,并且想要知道特定记录源自哪个文件,或者想要在文件路径中保留有用的信息时,这非常有用。

archive_options
必需
<xref:azureml.dataprep.ArchiveOptions>

存档文件的选项,包括存档类型和条目 glob 模式。 目前仅支持 ZIP 作为存档类型。 例如,指定


   archive_options = ArchiveOptions(archive_type = ArchiveType.ZIP, entry_glob = '*10-20.csv')

读取 ZIP 中名称以“10-20.csv”结尾的所有文件。

partition_format
必需
str

在路径中指定分区格式,并创建格式为“{x}”的字符串列和格式为“{x:yyyy/MM/dd/HH/mm/ss}”的“日期/时间”列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应该从第一个分区键的位置开始,直到文件路径的结尾。 例如,给定文件路径“../Accounts/2019/01/01/data.csv”,其中数据按部门名称和时间分区,我们可以定义“/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv”,以创建字符串类型的列“Department”和日期/时间类型的“PartitionDate”。

返回

类型 说明

Dataset 对象。

注解

如果要控制使用的选项,请使用此方法读取分隔的文本文件。

创建 Dataset 后,应使用 get_profile 列出检测到的列类型和每列的摘要统计信息。

返回的 Dataset 未注册到工作区。

from_excel_files

从 Excel 文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static from_excel_files(path, sheet_name=None, use_column_headers=False, skip_rows=0, include_path=False, infer_column_types=True, partition_format=None)

参数

名称 说明
path
必需

已注册的数据存储或本地路径中的数据路径。

sheet_name
必需
str

要加载的 Excel 表的名称。 默认情况下,我们从每个 Excel 文件中读取第一个工作表。

use_column_headers
必需

控制是否将第一行用作列标题。

skip_rows
必需
int

正在读取的文件中要跳过的行数。

include_path
必需

是否包含一个列,该列包含从其中读取数据的文件的路径。 当你读取多个文件,并且想要知道特定记录源自哪个文件,或者想要在文件路径中保留有用的信息时,这非常有用。

infer_column_types
必需

如果该项为 True,则推断列数据类型。

partition_format
必需
str

在路径中指定分区格式,并创建格式为“{x}”的字符串列和格式为“{x:yyyy/MM/dd/HH/mm/ss}”的“日期/时间”列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应该从第一个分区键的位置开始,直到文件路径的结尾。 例如,给定文件路径“../Accounts/2019/01/01/data.xlsx”,其中数据按部门名称和时间分区,我们可以定义“/{Department}/{PartitionDate:yyyy/MM/dd}/data.xlsx”,以创建字符串类型的列“Department”和日期/时间类型的“PartitionDate”。

返回

类型 说明

Dataset 对象。

注解

使用此方法读取 .xlsx 格式的 Excel 文件。 可以从每个 Excel 文件中的一个工作表中读取数据。 创建 Dataset 后,应使用 get_profile 列出检测到的列类型和每列的摘要统计信息。 返回的 Dataset 未注册到工作区。

from_json_files

从 JSON 文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_json_lines_files 来读取 JSON 行文件。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static from_json_files(path, encoding=FileEncoding.UTF8, flatten_nested_arrays=False, include_path=False, partition_format=None)

参数

名称 说明
path
必需

指向要加载和分析的文件或文件夹的路径。 它可以是本地路径,也可以是 Azure Blob URL。 支持 Globbing。 例如,可以使用 path = "./data*" 读取名称以“data”开头的所有文件。

encoding
必需

正在读取的文件的编码。

flatten_nested_arrays
必需

用于控制程序对嵌套数组的处理方式的属性。 如果选择平展嵌套的 JSON 数组,则可能会生成更多的行数。

include_path
必需

是否包含一个列,该列包含从其中读取数据的路径。 当你读取多个文件,并且想要知道特定记录源自哪个文件,或者想要在文件路径中保留有用的信息时,这非常有用。

partition_format
必需
str

在路径中指定分区格式,并创建格式为“{x}”的字符串列和格式为“{x:yyyy/MM/dd/HH/mm/ss}”的“日期/时间”列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应该从第一个分区键的位置开始,直到文件路径的结尾。 例如,给定文件路径“../Accounts/2019/01/01/data.json”,且数据按部门名称和时间分区,我们可以定义“/{Department}/{PartitionDate:yyyy/MM/dd}/data.json”,以创建字符串类型的列“Department”和日期/时间类型的“PartitionDate”。

返回

类型 说明

本地 Dataset 对象。

from_pandas_dataframe

从 Pandas DataFrame 创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.register_pandas_dataframe。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static from_pandas_dataframe(dataframe, path=None, in_memory=False)

参数

名称 说明
dataframe
必需

Pandas DataFrame。

path
必需

已注册的数据存储或本地文件夹路径中的数据路径。

in_memory
必需

是否从内存中读取 DataFrame,而不是持久保存到磁盘。

返回

类型 说明

DataSet 对象。

注解

使用此方法可将 Pandas DataFrame 转换为 Dataset 对象。 由于数据来自内存,因此无法注册通过此方法创建的 Dataset。

如果 in_memory 为 False,则 Pandas DataFrame 将在本地转换为 CSV 文件。 如果 pat 的类型为 DataReference,则 Pandas DataFrame 将上传到数据存储,并且该 Dataset 将基于 DataReference。 如果 ``path` 是一个本地文件夹,则将从无法删除的本地文件中创建 Dataset。

如果当前 DataReference 不是文件夹路径,则会引发异常。

from_parquet_files

从 Parquet 文件创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_parquet_files。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static from_parquet_files(path, include_path=False, partition_format=None)

参数

名称 说明
path
必需

已注册的数据存储或本地路径中的数据路径。

include_path
必需

是否包含一个列,该列包含从其中读取数据的文件的路径。 当你读取多个文件,并且想要知道特定记录源自哪个文件,或者想要在文件路径中保留有用的信息时,这非常有用。

partition_format
必需
str

在路径中指定分区格式,并创建格式为“{x}”的字符串列和格式为“{x:yyyy/MM/dd/HH/mm/ss}”的“日期/时间”列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应该从第一个分区键的位置开始,直到文件路径的结尾。 例如,给定文件路径“../Accounts/2019/01/01/data.parquet”,其中数据按部门名称和时间分区,我们可以定义“//{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet”,以创建字符串类型的列“Department”和日期/时间类型的“PartitionDate”。

返回

类型 说明

Dataset 对象。

注解

使用此方法可读取 Parquet 文件。

创建 Dataset 后,应使用 get_profile 列出检测到的列类型和每列的摘要统计信息。

返回的 Dataset 未注册到工作区。

from_sql_query

从 SQL 查询创建未注册的内存中 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 Dataset.Tabular.from_sql_query。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static from_sql_query(data_source, query)

参数

名称 说明
data_source
必需

Azure SQL 数据存储的详细信息。

query
必需
str

要执行的用于读取数据的查询。

返回

类型 说明

本地 Dataset 对象。

generate_profile

为 Dataset 生成新的配置文件。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

generate_profile(compute_target=None, workspace=None, arguments=None)

参数

名称 说明
compute_target
必需

一个可选的计算目标,用于执行快照配置文件创建操作。 如果省略该项,则使用本地计算。

workspace
必需

对于临时(未注册的)Dataset,需要该 Workspace 参数。

arguments
必需

配置文件参数。 有效参数包括:

  • bool 类型的“include_stype_counts”。 检查这些值是否类似于一些已知的语义类型,如电子邮件地址、IP 地址 (V4/V6)、美国电话号码、美国邮政编码、纬度/经度。 启用此项后,将影响性能。

  • int 类型的“number_of_histogram_bins”。表示数值数据所需使用的直方图箱数。 默认值为 10。

返回

类型 说明

Dataset 操作运行对象。

注解

将阻止同步调用直到操作完成。 调用 get_result 以获取操作的结果。

get

通过指定 Dataset 的名称或 ID,获取该工作区中已存在的 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 get_by_nameget_by_id。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static get(workspace, name=None, id=None)

参数

名称 说明
workspace
必需

在其中创建了 Dataset 的现有 AzureML 工作区。

name
必需
str

要检索的 Dataset 的名称。

id
必需
str

工作区中的 Dataset 的唯一标识符。

返回

类型 说明

具有指定名称或 ID 的 Dataset。

注解

请提供 nameid。 如果出现以下情况,则将引发异常:

  • 同时指定了 nameid,但两者不匹配。

  • 在工作区中找不到具有指定 nameid 的 Dataset。

get_all

获取工作区中所有已注册的数据集。

get_all()

参数

名称 说明
workspace
必需

其中注册了 Dataset 的现有 AzureML 工作区。

返回

类型 说明

以其注册名称作为键的 TabularDataset 和 FileDataset 对象的字典。

get_all_snapshots

获取 Dataset 的所有快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_all_snapshots()

返回

类型 说明

Dataset 快照列表。

get_by_id

获取保存到工作区的 Dataset。

get_by_id(id, **kwargs)

参数

名称 说明
workspace
必需

保存 Dataset 的现有 AzureML 工作区。

id
必需
str

数据集的 ID。

返回

类型 说明

数据集对象。 如果注册了数据集,则还将返回其注册名称和版本。

get_by_name

按 Dataset 注册名称从工作区获取已注册的 Dataset。

get_by_name(name, version='latest', **kwargs)

参数

名称 说明
workspace
必需

在其中注册了 Dataset 的现有 AzureML 工作区。

name
必需
str

注册名称。

version
必需
int

注册版本。 默认为“最新”。

返回

类型 说明

已注册的数据集对象。

get_definition

获取 Dataset 的特定定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_definition(version_id=None)

参数

名称 说明
version_id
必需
str

Dataset 定义的版本 ID

返回

类型 说明

Dataset 定义。

注解

如果提供了 version_id,则 Azure 机器学习尝试获取对应于该版本的定义。 如果该版本不存在,则会引发异常。 如果省略 version_id,则检索最新版本。

get_definitions

获取 Dataset 的所有定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_definitions()

返回

类型 说明

Dataset 定义的字典。

注解

在 AzureML 工作区中注册的 Dataset 可以有多个定义,每个定义都通过调用 update_definition 创建。 每个定义都具有唯一的标识符。 当前定义是最新创建的定义。

对于未注册的 Dataset,仅存在一个定义。

get_profile

获取之前计算的 Dataset 的摘要统计信息。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_profile(arguments=None, generate_if_not_exist=True, workspace=None, compute_target=None)

参数

名称 说明
arguments
必需

配置文件参数。

generate_if_not_exist
必需

指示是否生成配置文件(如果不存在)。

workspace
必需

对于临时(未注册的)Dataset,需要该 Workspace 参数。

compute_target
必需

用于执行配置文件操作的计算目标。

返回

类型 说明
<xref:azureml.dataprep.DataProfile>

Dataset 的 DataProfile。

注解

对于注册到 Azure 机器学习工作区的 Dataset,此方法将检索之前通过调用 get_profile 创建的现有配置文件(如果该配置文件仍有效)。 在 Dataset 中检测到已更改的数据,或者参数与 get_profile 生成配置文件时使用的参数不同时,配置文件无效。 如果配置文件不存在或无效,generate_if_not_exist 将确定是否生成新的配置文件。

对于未注册到 Azure 机器学习工作区的 Dataset,此方法始终运行 generate_profile 并返回结果。

get_snapshot

按名称获取 Dataset 的快照。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

get_snapshot(snapshot_name)

参数

名称 说明
snapshot_name
必需
str

快照名称。

返回

类型 说明

Dataset 快照对象。

head

从此 Dataset 中拉取指定数量的记录并将其作为 DataFrame 返回。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

head(count)

参数

名称 说明
count
必需
int

要拉取的记录数。

返回

类型 说明

Pandas DataFrame。

list

列出工作区中的所有 Dataset,包括那些 is_visible 属性为 False 的 Dataset。

注意

此方法已弃用,将不再受支持。

建议改用 get_all。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

static list(workspace)

参数

名称 说明
workspace
必需

要为其检索 Dataset 列表的工作区。

返回

类型 说明

Dataset 对象的列表。

reactivate

重新激活已存档的数据集或已弃用的数据集。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

reactivate()

返回

类型 说明

无。

register

在工作区中注册 Dataset,使其可供工作区的其他用户使用。

注意

此方法已弃用,将不再受支持。

建议改用 register。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

register(workspace, name, description=None, tags=None, visible=True, exist_ok=False, update_if_exist=False)

参数

名称 说明
workspace
必需

要在其中注册 Dataset 的 AzureML 工作区。

name
必需
str

工作区中的 Dataset 的名称。

description
必需
str

Dataset 的说明

tags
必需

要与 Dataset 关联的标记。

visible
必需

指示 Dataset 在 UI 中是否可见。 如果该项为 False,则在 UI 中隐藏 Dataset,并通过 SDK 使用。

exist_ok
必需

如果该项为 True,则该方法将在给定工作区中已有 Dataset 的情况下返回该 Dataset;否则返回错误。

update_if_exist
必需

如果 exist_ok 为 True 且 update_if_exist 为 True,则此方法将更新定义并返回更新后的 Dataset。

返回

类型 说明

工作区中已注册的 Dataset 对象。

sample

使用提供的采样策略和参数从源 Dataset 中生成新的示例。

注意

此方法已弃用,将不再受支持。

通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 take_sample 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

sample(sample_strategy, arguments)

参数

名称 说明
sample_strategy
必需
str

要使用的示例策略。 接受的值为“top_n”、“simple_random”或“stratified”。

arguments
必需

一个字典,其中包含上面显示的“可选参数”中的键,以及“Type”类型列中的值。 只能使用相应采样方法中的参数。 例如,对于“simple_random”示例类型,只能指定包含“概率”和“种子”键的字典。

返回

类型 说明

作为原始数据集的示例的 Dataset 对象。

注解

通过执行由此 Dataset 定义的转换管道,然后将采样策略和参数应用于输出数据,从而生成示例。 每个采样方法都支持以下可选参数:

  • top_n

    • 可选自变量

      • n,键入整数。 选择前 N 行作为示例。
  • simple_random

    • 可选自变量

      • 概率,键入 float。 简单随机采样,其中每行都具有相同的选择概率。 概率应是介于 0 和 1 之间的数字。

      • 种子,键入 float。 由随机数生成器使用。 用于可重复性。

  • 分层

    • 可选自变量

      • 列,键入 list[str]。 数据中的分层列列表。

      • 种子,键入 float。 由随机数生成器使用。 用于可重复性。

      • 分式,键入 dict[tuple, float]。 元组:定义层次的列值的顺序必须与列名称相同。 Float:在采样过程中附加到层次的权重。

以下代码片段是不同示例方法的示例设计模式。


   # sample_strategy "top_n"
   top_n_sample_dataset = dataset.sample('top_n', {'n': 5})

   # sample_strategy "simple_random"
   simple_random_sample_dataset = dataset.sample('simple_random', {'probability': 0.3, 'seed': 10.2})

   # sample_strategy "stratified"
   fractions = {}
   fractions[('THEFT',)] = 0.5
   fractions[('DECEPTIVE PRACTICE',)] = 0.2

   # take 50% of records with "Primary Type" as THEFT and 20% of records with "Primary Type" as
   # DECEPTIVE PRACTICE into sample Dataset
   sample_dataset = dataset.sample('stratified', {'columns': ['Primary Type'], 'fractions': fractions})

to_pandas_dataframe

通过执行由此 Dataset 定义所定义的转换管道来创建 Pandas DataFrame。

注意

此方法已弃用,将不再受支持。

通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 to_pandas_dataframe 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

to_pandas_dataframe()

返回

类型 说明

Pandas DataFrame。

注解

在内存中返回完全具体化的 Pandas DataFrame。

to_spark_dataframe

创建可执行由此 Dataset 定义所定义的转换管道的 Spark DataFrame。

注意

此方法已弃用,将不再受支持。

通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 to_spark_dataframe 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation

to_spark_dataframe()

返回

类型 说明

Spark DataFrame。

注解

Spark Dataframe 返回的只是一个执行计划,实际上并不包含任何数据,因为 Spark Dataframe 是被延迟计算的。

update

更新工作区中的 Dataset 可变属性,并从工作区返回更新后的 Dataset。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

update(name=None, description=None, tags=None, visible=None)

参数

名称 说明
name
必需
str

工作区中的 Dataset 的名称。

description
必需
str

数据的说明。

tags
必需

要与 Dataset 关联的标记。

visible
必需

指示 Dataset 在 UI 中是否可见。

返回

类型 说明

工作区中更新后的 Dataset 对象。

update_definition

更新 Dataset 定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

update_definition(definition, definition_update_message)

参数

名称 说明
definition
必需

此 Dataset 的新定义。

definition_update_message
必需
str

定义更新消息。

返回

类型 说明

工作区中更新后的 Dataset 对象。

注解

若要使用更新后的 Dataset,请使用此方法返回的对象。

属性

definition

返回当前 Dataset 定义。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

返回

类型 说明

Dataset 定义。

注解

Dataset 定义是指定如何读取和转换数据的一系列步骤。

在 AzureML 工作区中注册的 Dataset 可以有多个定义,每个定义都通过调用 update_definition 创建。 每个定义都具有唯一的标识符。 如果具有多个定义,可在不中断依赖于旧定义的模型和管道的情况下对现有 Dataset 进行更改。

对于未注册的 Dataset,仅存在一个定义。

definition_version

返回 Dataset 的当前定义版本。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

返回

类型 说明
str

Dataset 定义版本。

注解

Dataset 定义是指定如何读取和转换数据的一系列步骤。

在 AzureML 工作区中注册的 Dataset 可以有多个定义,每个定义都通过调用 update_definition 创建。 每个定义都具有唯一的标识符。 当前定义是最新创建的定义,其 ID 由此标识符返回。

对于未注册的 Dataset,仅存在一个定义。

description

返回 Dataset 的说明。

返回

类型 说明
str

Dataset 说明。

注解

通过指定 Dataset 中数据的说明,工作区的用户能够了解数据表示的内容及其使用方式。

id

如果 Dataset 已在工作区中注册,则返回该 Dataset 的 ID; 否则返回 None。

返回

类型 说明
str

Dataset ID。

is_visible

控制 Azure ML 工作区 UI 中已注册 Dataset 的可见性。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

返回

类型 说明

Dataset 可见性。

注解

返回的值:

  • True:Dataset 在工作区 UI 中可见。 默认。

  • False:Dataset 在工作区 UI 中不可见。

对未注册的 Dataset 没有影响。

name

返回 Dataset 名称。

返回

类型 说明
str

Dataset 名称。

state

返回 Dataset 的状态。

注意

此方法已弃用,将不再受支持。

有关详细信息,请参阅 https://aka.ms/dataset-deprecation

返回

类型 说明
str

Dataset 状态。

注解

状态的含义和效果如下所示:

  • 活动。 顾名思义,活动定义是指可以对活动定义执行所有操作。

  • 已弃用。 可以使用弃用的定义,但每次访问基础数据时,它都会在日志中记录警告。

  • 已存档。 存档的定义不能用于执行任何操作。 若要对存档的定义执行操作,必须重新激活该定义。

tags

返回与 Dataset 关联的标记。

返回

类型 说明

Dataset 标记。

workspace

如果 Dataset 已在工作区中注册,则返回该工作区; 否则返回 None。

返回

类型 说明

工作区。

Tabular

用于创建工厂 FileDataset

的别名 TabularDatasetFactory