Dataset 类
表示在 Azure 机器学习中用于探索、转换和管理数据的资源。
Dataset 是对 Datastore 中或公共 Web URL 后面的数据的引用。
对于此类中已弃用的方法,请查看 AbstractDataset 类以获取改进的 API。
支持以下数据集类型:
TabularDataset 表示表格格式的、通过分析提供的文件或文件列表所创建的数据。
FileDataset 引用数据存储或公共 URL 中的单个或多个文件。
若要开始使用数据集,请参阅 添加 & 注册数据集一文,或查看笔记本 https://aka.ms/tabulardataset-samplenotebook 和 https://aka.ms/filedataset-samplenotebook。
初始化 Dataset 对象。
若要获取已向工作区注册的数据集,请使用 get 方法。
- 继承
-
builtins.objectDataset
构造函数
Dataset(definition, workspace=None, name=None, id=None)
参数
名称 | 说明 |
---|---|
definition
必需
|
<xref:azureml.data.DatasetDefinition>
Dataset 定义。 |
workspace
必需
|
数据集所在的工作区。 |
name
必需
|
数据集的名称。 |
id
必需
|
数据集的唯一标识符。 |
注解
Dataset 类公开了两个方便的类属性(File
和 Tabular
),你可使用它们创建数据集,而无需使用相应的工厂方法。 例如,可使用这些属性创建数据集:
Dataset.Tabular.from_delimited_files()
Dataset.File.from_files()
还可以通过直接调用 TabularDatasetFactory 和 FileDatasetFactory 中定义的类的相应工厂方法来创建新的 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()
变量
名称 | 说明 |
---|---|
azureml.core.Dataset.File
|
一个类属性,可提供对用于创建新的 FileDataset 对象的 FileDatasetFactory 方法的访问。 用法:Dataset.File.from_files()。 |
azureml.core.Dataset.Tabular
|
一个类属性,可提供对用于创建新的 TabularDataset 对象的 TabularDatasetFactory 方法的访问。 用法:Dataset.Tabular.from_delimited_files()。 |
方法
archive |
将活动的数据集或已弃用的数据集存档。 |
auto_read_files |
分析指定路径的文件,并返回新的 Dataset。 注意 此方法已弃用,将不再受支持。 建议使用 Dataset.Tabular.from_* 方法读取文件。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation。 |
compare_profiles |
将当前 Dataset 的配置文件与另一个数据集配置文件进行比较。 这显示了两个数据集之间的摘要统计信息差异。 参数“rhs_dataset”表示“右侧”,只是第二个数据集。 第一个数据集(当前数据集对象)被视为“左侧”。 |
create_snapshot |
创建已注册 Dataset 的快照。 |
delete_snapshot |
按名称删除 Dataset 的快照。 |
deprecate |
由另一个数据集弃用工作区中的活动数据集。 |
diff |
区分当前 Dataset 与 rhs_dataset。 |
from_binary_files |
从二进制文件创建未注册的内存中 Dataset。 |
from_delimited_files |
从分隔的文件创建未注册的内存中 Dataset。 注意 此方法已弃用,将不再受支持。 建议改用 Dataset.Tabular.from_delimited_files。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation。
|
from_excel_files |
从 Excel 文件创建未注册的内存中 Dataset。 |
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 生成新的配置文件。 |
get |
通过指定 Dataset 的名称或 ID,获取该工作区中已存在的 Dataset。 |
get_all |
获取工作区中所有已注册的数据集。 |
get_all_snapshots |
获取 Dataset 的所有快照。 |
get_by_id |
获取保存到工作区的 Dataset。 |
get_by_name |
按 Dataset 注册名称从工作区获取已注册的 Dataset。 |
get_definition |
获取 Dataset 的特定定义。 |
get_definitions |
获取 Dataset 的所有定义。 |
get_profile |
获取之前计算的 Dataset 的摘要统计信息。 |
get_snapshot |
按名称获取 Dataset 的快照。 |
head |
从此 Dataset 中拉取指定数量的记录并将其作为 DataFrame 返回。 |
list |
列出工作区中的所有 Dataset,包括那些 |
reactivate |
重新激活已存档的数据集或已弃用的数据集。 |
register |
在工作区中注册 Dataset,使其可供工作区的其他用户使用。 |
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。 |
update_definition |
更新 Dataset 定义。 |
archive
将活动的数据集或已弃用的数据集存档。
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
必需
|
在路径中指定分区格式,并创建格式为“{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”表示“右侧”,只是第二个数据集。 第一个数据集(当前数据集对象)被视为“左侧”。
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 的快照。
create_snapshot(snapshot_name, compute_target=None, create_data_snapshot=False, target_datastore=None)
参数
名称 | 说明 |
---|---|
snapshot_name
必需
|
快照名称。 快照名称在 Dataset 中应是唯一的。 |
compute_target
必需
|
可选的计算目标,用于执行快照配置文件创建操作。 如果省略该项,则使用本地计算。 |
create_data_snapshot
必需
|
如果该项为 True,则创建数据的具体化副本。 |
target_datastore
必需
|
用于保存快照的目标数据存储。 如果省略该项,将在工作区的默认存储中创建快照。 |
返回
类型 | 说明 |
---|---|
Dataset 快照对象。 |
注解
快照捕获基础数据的时间点摘要统计信息和数据本身的可选副本。 若要详细了解如何创建快照,请转到 https://aka.ms/azureml/howto/createsnapshots。
delete_snapshot
按名称删除 Dataset 的快照。
delete_snapshot(snapshot_name)
参数
名称 | 说明 |
---|---|
snapshot_name
必需
|
快照名称。 |
返回
类型 | 说明 |
---|---|
无。 |
注解
使用此功能可释放由不再需要的快照中保存的数据所占用的存储。
deprecate
由另一个数据集弃用工作区中的活动数据集。
deprecate(deprecate_by_dataset_id)
参数
名称 | 说明 |
---|---|
deprecate_by_dataset_id
必需
|
Dataset ID,它是此 Dataset 的目标替换项。 |
返回
类型 | 说明 |
---|---|
无。 |
注解
使用弃用的 Dataset 时,该 Dataset 将记录警告。 弃用的 Dataset 将弃用其所有定义。
仍可使用弃用的 Dataset。 若要完全阻止使用 Dataset,请将其存档。
如果意外弃用,重新激活将激活它。
diff
区分当前 Dataset 与 rhs_dataset。
diff(rhs_dataset, compute_target=None, columns=None)
参数
名称 | 说明 |
---|---|
rhs_dataset
必需
|
另一个 Dataset(也称为“右侧”Dataset)用于比较 |
compute_target
必需
|
用于执行差异方法的计算目标。 如果省略该项,则使用本地计算。 |
columns
必需
|
要包括在差异中的列名的列表。 |
返回
类型 | 说明 |
---|---|
Dataset 操作运行对象。 |
from_binary_files
从二进制文件创建未注册的内存中 Dataset。
static from_binary_files(path)
参数
名称 | 说明 |
---|---|
path
必需
|
已注册的数据存储或本地路径中的数据路径。 |
返回
类型 | 说明 |
---|---|
Dataset 对象。 |
注解
使用此方法以二进制数据流形式读取文件。 返回每个文件读取的一个文件流对象。 读取图像、视频、音频或其他二进制数据时,请使用此方法。
对于通过此方法创建的数据集,get_profile 和 create_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
必需
|
用于拆分列的分隔符。 |
header
必需
|
控制在读取文件时如何提升列标题。 |
encoding
必需
|
正在读取的文件的编码。 |
quoting
必需
|
指定如何处理引号内的换行符。 默认值 (False) 将换行符解释为开始新行,而不考虑换行符是否在引号内。 如果该项设置为 True,则引号内的换行符将不会生成新行,并且文件读取速度会变慢。 |
infer_column_types
必需
|
指示是否推断列数据类型。 |
skip_rows
必需
|
正在读取的文件中要跳过的行数。 |
skip_mode
必需
|
控制从文件读取时如何跳过行。 |
comment
必需
|
用于指示正在读取的文件中的注释行的字符。 将跳过以该字符串开头的行。 |
include_path
必需
|
是否包含一个列,该列包含从其中读取数据的文件的路径。 当你读取多个文件,并且想要知道特定记录源自哪个文件,或者想要在文件路径中保留有用的信息时,这非常有用。 |
archive_options
必需
|
<xref:azureml.dataprep.ArchiveOptions>
存档文件的选项,包括存档类型和条目 glob 模式。 目前仅支持 ZIP 作为存档类型。 例如,指定
读取 ZIP 中名称以“10-20.csv”结尾的所有文件。 |
partition_format
必需
|
在路径中指定分区格式,并创建格式为“{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。
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
必需
|
要加载的 Excel 表的名称。 默认情况下,我们从每个 Excel 文件中读取第一个工作表。 |
use_column_headers
必需
|
控制是否将第一行用作列标题。 |
skip_rows
必需
|
正在读取的文件中要跳过的行数。 |
include_path
必需
|
是否包含一个列,该列包含从其中读取数据的文件的路径。 当你读取多个文件,并且想要知道特定记录源自哪个文件,或者想要在文件路径中保留有用的信息时,这非常有用。 |
infer_column_types
必需
|
如果该项为 True,则推断列数据类型。 |
partition_format
必需
|
在路径中指定分区格式,并创建格式为“{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
必需
|
在路径中指定分区格式,并创建格式为“{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
必需
|
在路径中指定分区格式,并创建格式为“{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
必需
|
要执行的用于读取数据的查询。 |
返回
类型 | 说明 |
---|---|
本地 Dataset 对象。 |
generate_profile
为 Dataset 生成新的配置文件。
generate_profile(compute_target=None, workspace=None, arguments=None)
参数
名称 | 说明 |
---|---|
compute_target
必需
|
一个可选的计算目标,用于执行快照配置文件创建操作。 如果省略该项,则使用本地计算。 |
workspace
必需
|
对于临时(未注册的)Dataset,需要该 Workspace 参数。 |
arguments
必需
|
配置文件参数。 有效参数包括:
|
返回
类型 | 说明 |
---|---|
Dataset 操作运行对象。 |
注解
将阻止同步调用直到操作完成。 调用 get_result 以获取操作的结果。
get
通过指定 Dataset 的名称或 ID,获取该工作区中已存在的 Dataset。
static get(workspace, name=None, id=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
在其中创建了 Dataset 的现有 AzureML 工作区。 |
name
必需
|
要检索的 Dataset 的名称。 |
id
必需
|
工作区中的 Dataset 的唯一标识符。 |
返回
类型 | 说明 |
---|---|
具有指定名称或 ID 的 Dataset。 |
注解
请提供 name
或 id
。 如果出现以下情况,则将引发异常:
同时指定了
name
和id
,但两者不匹配。在工作区中找不到具有指定
name
或id
的 Dataset。
get_all
获取工作区中所有已注册的数据集。
get_all()
参数
名称 | 说明 |
---|---|
workspace
必需
|
其中注册了 Dataset 的现有 AzureML 工作区。 |
返回
类型 | 说明 |
---|---|
以其注册名称作为键的 TabularDataset 和 FileDataset 对象的字典。 |
get_all_snapshots
获取 Dataset 的所有快照。
get_all_snapshots()
返回
类型 | 说明 |
---|---|
Dataset 快照列表。 |
get_by_id
获取保存到工作区的 Dataset。
get_by_id(id, **kwargs)
参数
名称 | 说明 |
---|---|
workspace
必需
|
保存 Dataset 的现有 AzureML 工作区。 |
id
必需
|
数据集的 ID。 |
返回
类型 | 说明 |
---|---|
数据集对象。 如果注册了数据集,则还将返回其注册名称和版本。 |
get_by_name
按 Dataset 注册名称从工作区获取已注册的 Dataset。
get_by_name(name, version='latest', **kwargs)
参数
名称 | 说明 |
---|---|
workspace
必需
|
在其中注册了 Dataset 的现有 AzureML 工作区。 |
name
必需
|
注册名称。 |
version
必需
|
注册版本。 默认为“最新”。 |
返回
类型 | 说明 |
---|---|
已注册的数据集对象。 |
get_definition
获取 Dataset 的特定定义。
get_definition(version_id=None)
参数
名称 | 说明 |
---|---|
version_id
必需
|
Dataset 定义的版本 ID |
返回
类型 | 说明 |
---|---|
Dataset 定义。 |
注解
如果提供了 version_id
,则 Azure 机器学习尝试获取对应于该版本的定义。 如果该版本不存在,则会引发异常。
如果省略 version_id
,则检索最新版本。
get_definitions
获取 Dataset 的所有定义。
get_definitions()
返回
类型 | 说明 |
---|---|
Dataset 定义的字典。 |
注解
在 AzureML 工作区中注册的 Dataset 可以有多个定义,每个定义都通过调用 update_definition 创建。 每个定义都具有唯一的标识符。 当前定义是最新创建的定义。
对于未注册的 Dataset,仅存在一个定义。
get_profile
获取之前计算的 Dataset 的摘要统计信息。
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 的快照。
get_snapshot(snapshot_name)
参数
名称 | 说明 |
---|---|
snapshot_name
必需
|
快照名称。 |
返回
类型 | 说明 |
---|---|
Dataset 快照对象。 |
head
从此 Dataset 中拉取指定数量的记录并将其作为 DataFrame 返回。
head(count)
参数
名称 | 说明 |
---|---|
count
必需
|
要拉取的记录数。 |
返回
类型 | 说明 |
---|---|
Pandas DataFrame。 |
list
列出工作区中的所有 Dataset,包括那些 is_visible
属性为 False 的 Dataset。
static list(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要为其检索 Dataset 列表的工作区。 |
返回
类型 | 说明 |
---|---|
Dataset 对象的列表。 |
reactivate
重新激活已存档的数据集或已弃用的数据集。
reactivate()
返回
类型 | 说明 |
---|---|
无。 |
register
在工作区中注册 Dataset,使其可供工作区的其他用户使用。
register(workspace, name, description=None, tags=None, visible=True, exist_ok=False, update_if_exist=False)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要在其中注册 Dataset 的 AzureML 工作区。 |
name
必需
|
工作区中的 Dataset 的名称。 |
description
必需
|
Dataset 的说明 |
tags
必需
|
要与 Dataset 关联的标记。 |
visible
必需
|
指示 Dataset 在 UI 中是否可见。 如果该项为 False,则在 UI 中隐藏 Dataset,并通过 SDK 使用。 |
exist_ok
必需
|
如果该项为 True,则该方法将在给定工作区中已有 Dataset 的情况下返回该 Dataset;否则返回错误。 |
update_if_exist
必需
|
如果 |
返回
类型 | 说明 |
---|---|
工作区中已注册的 Dataset 对象。 |
sample
使用提供的采样策略和参数从源 Dataset 中生成新的示例。
注意
此方法已弃用,将不再受支持。
通过对 Dataset.Tabular 调用静态方法来创建一个 TabularDataset,并在此处使用 take_sample 方法。 有关详细信息,请参阅 https://aka.ms/dataset-deprecation。
sample(sample_strategy, arguments)
参数
名称 | 说明 |
---|---|
sample_strategy
必需
|
要使用的示例策略。 接受的值为“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。
update(name=None, description=None, tags=None, visible=None)
参数
名称 | 说明 |
---|---|
name
必需
|
工作区中的 Dataset 的名称。 |
description
必需
|
数据的说明。 |
tags
必需
|
要与 Dataset 关联的标记。 |
visible
必需
|
指示 Dataset 在 UI 中是否可见。 |
返回
类型 | 说明 |
---|---|
工作区中更新后的 Dataset 对象。 |
update_definition
更新 Dataset 定义。
update_definition(definition, definition_update_message)
参数
名称 | 说明 |
---|---|
definition
必需
|
此 Dataset 的新定义。 |
definition_update_message
必需
|
定义更新消息。 |
返回
类型 | 说明 |
---|---|
工作区中更新后的 Dataset 对象。 |
注解
若要使用更新后的 Dataset,请使用此方法返回的对象。
属性
definition
返回当前 Dataset 定义。
返回
类型 | 说明 |
---|---|
Dataset 定义。 |
注解
Dataset 定义是指定如何读取和转换数据的一系列步骤。
在 AzureML 工作区中注册的 Dataset 可以有多个定义,每个定义都通过调用 update_definition 创建。 每个定义都具有唯一的标识符。 如果具有多个定义,可在不中断依赖于旧定义的模型和管道的情况下对现有 Dataset 进行更改。
对于未注册的 Dataset,仅存在一个定义。
definition_version
返回 Dataset 的当前定义版本。
返回
类型 | 说明 |
---|---|
Dataset 定义版本。 |
注解
Dataset 定义是指定如何读取和转换数据的一系列步骤。
在 AzureML 工作区中注册的 Dataset 可以有多个定义,每个定义都通过调用 update_definition 创建。 每个定义都具有唯一的标识符。 当前定义是最新创建的定义,其 ID 由此标识符返回。
对于未注册的 Dataset,仅存在一个定义。
description
id
is_visible
控制 Azure ML 工作区 UI 中已注册 Dataset 的可见性。
返回
类型 | 说明 |
---|---|
Dataset 可见性。 |
注解
返回的值:
True:Dataset 在工作区 UI 中可见。 默认。
False:Dataset 在工作区 UI 中不可见。
对未注册的 Dataset 没有影响。
name
state
返回 Dataset 的状态。
返回
类型 | 说明 |
---|---|
Dataset 状态。 |
注解
状态的含义和效果如下所示:
活动。 顾名思义,活动定义是指可以对活动定义执行所有操作。
已弃用。 可以使用弃用的定义,但每次访问基础数据时,它都会在日志中记录警告。
已存档。 存档的定义不能用于执行任何操作。 若要对存档的定义执行操作,必须重新激活该定义。
tags
workspace
Tabular
用于创建工厂 FileDataset