Dataset 類別
代表在 Azure Machine Learning 中探索、轉換和管理數據的資源。
數據集是公用 Web URL 或 Datastore 後方數據的參考。
針對此類別中已被取代的方法,請檢查 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)
參數
名稱 | Description |
---|---|
definition
必要
|
<xref:azureml.data.DatasetDefinition>
數據集定義。 |
workspace
必要
|
數據集所在的工作區。 |
name
必要
|
數據集的名稱。 |
id
必要
|
數據集的唯一標識碼。 |
備註
Dataset 類別會公開兩個便利類別屬性, (File
和 Tabular
) 您可以使用來建立數據集,而不需使用對應的 Factory 方法。 例如,若要使用下列屬性建立數據集:
Dataset.Tabular.from_delimited_files()
Dataset.File.from_files()
您也可以直接呼叫 和 FileDatasetFactory中所TabularDatasetFactory定義類別的對應 Factory 方法,以建立新的 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()
變數
名稱 | Description |
---|---|
azureml.core.Dataset.File
|
類別屬性,可讓您存取 FileDatasetFactory 方法來建立新的 FileDataset 物件。 使用量:Dataset.File.from_files () 。 |
azureml.core.Dataset.Tabular
|
類別屬性,可讓您存取 TabularDatasetFactory 方法來建立新的 TabularDataset 物件。 使用量:Dataset.Tabular.from_delimited_files () 。 |
方法
archive |
封存使用中或已淘汰的數據集。 |
auto_read_files |
分析位於指定路徑 (檔案) ,並傳回新的數據集。 注意 這個方法已被取代,不再受到支援。 建議使用 Dataset.Tabular.from_* 方法來讀取檔案。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
compare_profiles |
比較目前數據集的配置檔與另一個數據集配置檔。 這會顯示兩個數據集之間的摘要統計數據差異。 參數 'rhs_dataset' 代表「右側」,只是第二個數據集。 ) 目前數據集物件 (第一個數據集會被視為「左側」。 |
create_snapshot |
建立已註冊數據集的快照集。 |
delete_snapshot |
依名稱刪除數據集的快照集。 |
deprecate |
由另一個數據集取代工作區中的使用中數據集。 |
diff |
使用rhs_dataset來差異目前的數據集。 |
from_binary_files |
從二進位檔建立未註冊的記憶體內部數據集。 |
from_delimited_files |
從分隔的檔案建立未註冊的記憶體內部數據集。 注意 這個方法已被取代,不再受到支援。 建議改用 Dataset.Tabular.from_delimited_files。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
|
from_excel_files |
從 Excel 檔案建立未註冊的記憶體內部數據集。 |
from_json_files |
從 JSON 檔案建立未註冊的記憶體內部數據集。 注意 這個方法已被取代,不再受到支援。 建議改用 Dataset.Tabular.from_json_lines_files 從 JSON 行檔案讀取。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
from_pandas_dataframe |
從 pandas 數據框架建立未註冊的記憶體內部數據集。 注意 這個方法已被取代,不再受到支援。 建議改用 Dataset.Tabular.register_pandas_dataframe。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
from_parquet_files |
從 parquet 檔案建立未註冊的記憶體內部數據集。 注意 這個方法已被取代,不再受到支援。 建議改用 Dataset.Tabular.from_parquet_files。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
from_sql_query |
從 SQL 查詢建立未註冊的記憶體內部數據集。 注意 這個方法已被取代,不再受到支援。 建議改用 Dataset.Tabular.from_sql_query。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
generate_profile |
產生數據集的新配置檔。 |
get |
藉由指定其名稱或標識符,取得工作區中已存在的數據集。 |
get_all |
取得工作區中的所有已註冊數據集。 |
get_all_snapshots |
取得數據集的所有快照集。 |
get_by_id |
取得儲存至工作區的數據集。 |
get_by_name |
依註冊名稱從工作區取得已註冊的數據集。 |
get_definition |
取得數據集的特定定義。 |
get_definitions |
取得數據集的所有定義。 |
get_profile |
取得稍早計算數據集的摘要統計數據。 |
get_snapshot |
依名稱取得數據集的快照集。 |
head |
從此數據集提取指定的記錄數目,並將其傳回為 DataFrame。 |
list |
列出工作區中的所有數據集,包括屬性 |
reactivate |
重新啟用已封存或已淘汰的數據集。 |
register |
在工作區中註冊數據集,使其可供工作區的其他使用者使用。 |
sample |
使用提供的取樣策略和參數,從來源數據集產生新的範例。 注意 這個方法已被取代,不再受到支援。 TabularDataset在 Dataset.Tabular 上呼叫靜態方法,並在該處使用 方法,以take_sample建立 。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
to_pandas_dataframe |
執行此數據集定義所定義的轉換管線,以建立 Pandas 數據框架。 注意 這個方法已被取代,不再受到支援。 TabularDataset在 Dataset.Tabular 上呼叫靜態方法,並在該處使用 方法,以to_pandas_dataframe建立 。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
to_spark_dataframe |
建立 Spark DataFrame,以執行此數據集定義所定義的轉換管線。 注意 這個方法已被取代,不再受到支援。 TabularDataset在 Dataset.Tabular 上呼叫靜態方法,並在該處使用 方法,以to_spark_dataframe建立 。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。 |
update |
更新工作區中的數據集可變動屬性,並從工作區傳回更新的數據集。 |
update_definition |
更新數據集定義。 |
archive
封存使用中或已淘汰的數據集。
archive()
傳回
類型 | Description |
---|---|
無。 |
備註
封存之後,任何嘗試取用數據集都會產生錯誤。 如果意外封存,重新啟動將會啟動它。
auto_read_files
分析位於指定路徑 (檔案) ,並傳回新的數據集。
注意
這個方法已被取代,不再受到支援。
建議使用 Dataset.Tabular.from_* 方法來讀取檔案。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
static auto_read_files(path, include_path=False, partition_format=None)
參數
名稱 | Description |
---|---|
path
必要
|
已註冊數據存放區中的數據路徑、本機路徑或 HTTP URL (CSV/TSV) 。 |
include_path
必要
|
是否要包含包含包含讀取資料之檔案路徑的數據行。 讀取多個檔案時很有用,並想要知道特定記錄的來源檔案。 如果數據行中有您想要的檔案路徑或名稱中的資訊,也很有用。 |
partition_format
必要
|
在路徑中指定數據分割格式,並從格式為 '{x}' 和 datetime 數據行建立字串數據行,格式為 '{x:yyyy/MM/dd/HH/mm/ss}',其中 'yyyy'、'MM'、'HH'、'mm' 和 'ss' 是用來在日期時間類型外加年、月、日、小時、分鐘和秒。 格式應該從第一個數據分割索引鍵的位置開始,直到檔案路徑結尾為止。 例如,假設檔案路徑 '../Accounts/2019/01/01/data.csv',其中數據是以部門名稱和時間分割,我們可以定義 '/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' 來建立字符串類型的數據行 'Department',以及 datetime 類型的 'PartitionDate' 數據行。 |
傳回
類型 | Description |
---|---|
Dataset 物件。 |
備註
當自動偵測到檔格式和分隔符時,請使用這個方法。
建立數據集之後,您應該使用 get_profile 來列出每個數據行的偵測到的數據行類型和摘要統計數據。
傳回的數據集未向工作區註冊。
compare_profiles
比較目前數據集的配置檔與另一個數據集配置檔。
這會顯示兩個數據集之間的摘要統計數據差異。 參數 'rhs_dataset' 代表「右側」,只是第二個數據集。 ) 目前數據集物件 (第一個數據集會被視為「左側」。
compare_profiles(rhs_dataset, profile_arguments={}, include_columns=None, exclude_columns=None, histogram_compare_method=HistogramCompareMethod.WASSERSTEIN)
參數
名稱 | Description |
---|---|
rhs_dataset
必要
|
第二個數據集,也稱為「右側」數據集以進行比較。 |
profile_arguments
必要
|
特定配置檔的自變數。 |
include_columns
必要
|
要包含在比較中的數據行名稱清單。 |
exclude_columns
必要
|
比較中要排除的數據行名稱清單。 |
histogram_compare_method
必要
|
描述比較方法的列舉,例如:Wasser一或能源 |
傳回
類型 | Description |
---|---|
<xref:azureml.dataprep.api.engineapi.typedefinitions.DataProfileDifference>
|
兩個數據集配置檔之間的差異。 |
備註
這僅適用於已註冊的數據集。 如果目前數據集的配置檔不存在,則引發例外狀況。 若為未註冊的數據集,請使用 profile.compare 方法。
create_snapshot
建立已註冊數據集的快照集。
create_snapshot(snapshot_name, compute_target=None, create_data_snapshot=False, target_datastore=None)
參數
名稱 | Description |
---|---|
snapshot_name
必要
|
快照集名稱。 快照集名稱在數據集內應該是唯一的。 |
compute_target
必要
|
執行快照集配置檔建立的選擇性計算目標。 如果省略,則會使用本機計算。 |
create_data_snapshot
必要
|
如果為 True,則會建立數據的具體化複本。 |
target_datastore
必要
|
要儲存快照集的目標數據存放區。 如果省略,則會在工作區的預設記憶體中建立快照集。 |
傳回
類型 | Description |
---|---|
數據集快照集物件。 |
備註
快照集擷取基礎數據的時間點摘要統計數據,以及數據本身的選擇性複本。 若要深入瞭解如何建立快照集,請移至 https://aka.ms/azureml/howto/createsnapshots。
delete_snapshot
依名稱刪除數據集的快照集。
delete_snapshot(snapshot_name)
參數
名稱 | Description |
---|---|
snapshot_name
必要
|
快照集名稱。 |
傳回
類型 | Description |
---|---|
無。 |
備註
使用此方法可釋放儲存在快照集內不再需要之數據所耗用的記憶體。
deprecate
由另一個數據集取代工作區中的使用中數據集。
deprecate(deprecate_by_dataset_id)
參數
名稱 | Description |
---|---|
deprecate_by_dataset_id
必要
|
這是此數據集所要取代的數據集標識碼。 |
傳回
類型 | Description |
---|---|
無。 |
備註
已取代的數據集會在取用時記錄警告。 取代數據集會取代其所有定義。
仍然可以取用已被取代的數據集。 若要完全封鎖數據集被取用,請封存它。
如果意外淘汰,重新啟動將會啟動它。
diff
使用rhs_dataset來差異目前的數據集。
diff(rhs_dataset, compute_target=None, columns=None)
參數
名稱 | Description |
---|---|
rhs_dataset
必要
|
另一個數據集也稱為右手數據集以進行比較 |
compute_target
必要
|
要執行差異的計算目標。 如果省略,則會使用本機計算。 |
columns
必要
|
要包含在差異中的數據行名稱清單。 |
傳回
類型 | Description |
---|---|
數據集動作執行物件。 |
from_binary_files
從二進位檔建立未註冊的記憶體內部數據集。
static from_binary_files(path)
參數
名稱 | Description |
---|---|
path
必要
|
已註冊數據存放區或本機路徑中的數據路徑。 |
傳回
類型 | Description |
---|---|
Dataset 物件。 |
備註
使用此方法將檔案讀取為二進位數據的數據流。 傳回每個檔案讀取的一個檔案數據流物件。 當您讀取影像、影片、音訊或其他二進位數據時,請使用此方法。
get_profile 和 create_snapshot 不適用於此方法所建立的數據集。
傳回的數據集未向工作區註冊。
from_delimited_files
從分隔的檔案建立未註冊的記憶體內部數據集。
注意
這個方法已被取代,不再受到支援。
建議改用 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)
參數
名稱 | Description |
---|---|
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}' 和 datetime 數據行建立字串數據行,格式為 '{x:yyyy/MM/dd/HH/mm/ss}',其中 'yyyy'、'MM'、'HH'、'mm' 和 'ss' 是用來在日期時間類型外加年、月、日、小時、分鐘和秒。 格式應該從第一個數據分割索引鍵的位置開始,直到檔案路徑結尾為止。 例如,假設檔案路徑 '../Accounts/2019/01/01/data.csv',其中數據是以部門名稱和時間分割,我們可以定義 '/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' 來建立字符串類型的數據行 'Department',以及 datetime 類型的 'PartitionDate' 數據行。 |
傳回
類型 | Description |
---|---|
Dataset 物件。 |
備註
當您想要控制所使用的選項時,請使用這個方法來讀取分隔的文字檔。
建立數據集之後,您應該使用 get_profile 來列出每個數據行的偵測到的數據行類型和摘要統計數據。
傳回的數據集未向工作區註冊。
from_excel_files
從 Excel 檔案建立未註冊的記憶體內部數據集。
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)
參數
名稱 | Description |
---|---|
path
必要
|
已註冊數據存放區中的數據路徑或本機路徑。 |
sheet_name
必要
|
要載入的 Excel 工作表名稱。 根據預設,我們會從每個Excel檔案讀取第一張工作表。 |
use_column_headers
必要
|
控制是否要使用第一個數據列做為數據行標頭。 |
skip_rows
必要
|
要讀取的檔案 (讀取) ,要略過多少個數據列。 |
include_path
必要
|
是否要包含包含讀取資料之檔案路徑的數據行。 當您讀取多個檔案,並想要知道特定記錄的來源檔案,或保留檔案路徑中的實用資訊時,這會很有用。 |
infer_column_types
必要
|
如果為 true,則會推斷數據行數據類型。 |
partition_format
必要
|
在路徑中指定數據分割格式,並從格式 '{x}' 和 datetime 數據行建立字串數據行,格式為 '{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',以及 datetime 類型的 'PartitionDate' 數據行。 |
傳回
類型 | Description |
---|---|
數據集物件。 |
備註
使用此方法可讀取 .xlsx 格式的 Excel 檔案。 數據可以從每個 Excel 檔案中的一個工作表讀取。 建立數據集之後,您應該使用 get_profile 來列出每個數據行的偵測到的數據行類型和摘要統計數據。 傳回的數據集未向工作區註冊。
from_json_files
從 JSON 檔案建立未註冊的記憶體內部數據集。
注意
這個方法已被取代,不再受到支援。
建議改用 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)
參數
名稱 | Description |
---|---|
path
必要
|
您要載入和剖析的檔案路徑 () 或資料夾 () 。 它可以是本機路徑或 Azure Blob URL。 支援 Globbing。 例如,您可以使用 path = “./data*” 來讀取名稱開頭為 “data” 的所有檔案。 |
encoding
必要
|
正在讀取之檔案的編碼方式。 |
flatten_nested_arrays
必要
|
屬性控制程式的巢狀陣列處理。 如果您選擇扁平化巢狀 JSON 陣列,可能會導致較大的數據列數目。 |
include_path
必要
|
是否要包含包含資料讀取路徑的數據行。 當您讀取多個檔案,而且可能想要知道特定記錄的來源檔案,或保留檔案路徑中的實用資訊時,這會很有用。 |
partition_format
必要
|
在路徑中指定數據分割格式,並從格式 '{x}' 和 datetime 數據行建立字串數據行,格式為 '{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',以及 datetime 類型的 'PartitionDate' 數據行。 |
傳回
類型 | Description |
---|---|
本機 Dataset 物件。 |
from_pandas_dataframe
從 pandas 數據框架建立未註冊的記憶體內部數據集。
注意
這個方法已被取代,不再受到支援。
建議改用 Dataset.Tabular.register_pandas_dataframe。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
static from_pandas_dataframe(dataframe, path=None, in_memory=False)
參數
名稱 | Description |
---|---|
dataframe
必要
|
Pandas DataFrame。 |
path
必要
|
已註冊數據存放區或本機資料夾路徑中的數據路徑。 |
in_memory
必要
|
是否要從記憶體讀取 DataFrame,而不是保存到磁碟。 |
傳回
類型 | Description |
---|---|
Dataset 物件。 |
備註
使用這個方法可將 Pandas 數據框架轉換成 Dataset 物件。 此方法建立的數據集無法註冊,因為數據來自記憶體。
如果 為 in_memory
False,Pandas DataFrame 會轉換成本機 CSV 檔案。 如果 pat
屬於 DataReference 類型,則 Pandas 框架會上傳至數據存放區,而數據集將會以 DataReference 為基礎。 如果 ''path' 是本機資料夾,則會從無法刪除的本機檔案建立數據集。
如果目前的 DataReference 不是資料夾路徑,則引發例外狀況。
from_parquet_files
從 parquet 檔案建立未註冊的記憶體內部數據集。
注意
這個方法已被取代,不再受到支援。
建議改用 Dataset.Tabular.from_parquet_files。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
static from_parquet_files(path, include_path=False, partition_format=None)
參數
名稱 | Description |
---|---|
path
必要
|
已註冊數據存放區中的數據路徑或本機路徑。 |
include_path
必要
|
是否要包含包含讀取資料之檔案路徑的數據行。 當您讀取多個檔案,並想要知道特定記錄的來源檔案,或保留檔案路徑中的實用資訊時,這會很有用。 |
partition_format
必要
|
在路徑中指定數據分割格式,並從格式 '{x}' 和 datetime 數據行建立字串數據行,格式為 '{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',以及 datetime 類型的 'PartitionDate' 數據行。 |
傳回
類型 | Description |
---|---|
數據集物件。 |
備註
使用這個方法來讀取 Parquet 檔案。
建立數據集之後,您應該使用 get_profile 來列出每個數據行的偵測到的數據行類型和摘要統計數據。
傳回的數據集未向工作區註冊。
from_sql_query
從 SQL 查詢建立未註冊的記憶體內部數據集。
注意
這個方法已被取代,不再受到支援。
建議改用 Dataset.Tabular.from_sql_query。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
static from_sql_query(data_source, query)
參數
名稱 | Description |
---|---|
data_source
必要
|
Azure SQL 資料存放區的詳細數據。 |
query
必要
|
要執行以讀取數據的查詢。 |
傳回
類型 | Description |
---|---|
本機 Dataset 物件。 |
generate_profile
產生數據集的新配置檔。
generate_profile(compute_target=None, workspace=None, arguments=None)
參數
名稱 | Description |
---|---|
compute_target
必要
|
執行快照集配置檔建立的選擇性計算目標。 如果省略,則會使用本機計算。 |
workspace
必要
|
暫時性 (取消註冊) 數據集所需的工作區。 |
arguments
必要
|
配置檔自變數。 有效的自變數包括:
|
傳回
類型 | Description |
---|---|
數據集動作執行物件。 |
備註
同步呼叫會封鎖直到完成為止。 呼叫 get_result 以取得動作的結果。
get
藉由指定其名稱或標識符,取得工作區中已存在的數據集。
static get(workspace, name=None, id=None)
參數
名稱 | Description |
---|---|
workspace
必要
|
建立數據集的現有 AzureML 工作區。 |
name
必要
|
要擷取的數據集名稱。 |
id
必要
|
工作區中數據集的唯一標識符。 |
傳回
類型 | Description |
---|---|
具有指定名稱或識別碼的數據集。 |
備註
您可以提供 name
或 id
。 如果:
id
和 都name
已指定,但不符合。工作區中找不到具有指定
name
或id
的數據集。
get_all
取得工作區中的所有已註冊數據集。
get_all()
參數
名稱 | Description |
---|---|
workspace
必要
|
已註冊數據集的現有 AzureML 工作區。 |
傳回
類型 | Description |
---|---|
TabularDataset 和 FileDataset 物件的字典,以其註冊名稱為索引鍵。 |
get_all_snapshots
取得數據集的所有快照集。
get_all_snapshots()
傳回
類型 | Description |
---|---|
數據集快照集的清單。 |
get_by_id
取得儲存至工作區的數據集。
get_by_id(id, **kwargs)
參數
名稱 | Description |
---|---|
workspace
必要
|
儲存數據集的現有 AzureML 工作區。 |
id
必要
|
數據集的識別碼。 |
傳回
類型 | Description |
---|---|
數據集物件。 如果已註冊數據集,也會傳回其註冊名稱和版本。 |
get_by_name
依註冊名稱從工作區取得已註冊的數據集。
get_by_name(name, version='latest', **kwargs)
參數
名稱 | Description |
---|---|
workspace
必要
|
已註冊數據集的現有 AzureML 工作區。 |
name
必要
|
註冊名稱。 |
version
必要
|
註冊版本。 默認為 『latest』。 |
傳回
類型 | Description |
---|---|
已註冊的數據集物件。 |
get_definition
取得數據集的特定定義。
get_definition(version_id=None)
參數
名稱 | Description |
---|---|
version_id
必要
|
數據集定義的版本識別碼 |
傳回
類型 | Description |
---|---|
數據集定義。 |
備註
如果 version_id
提供,則 Azure Machine Learning 會嘗試取得對應至該版本的定義。 如果該版本不存在,則會擲回例外狀況。
如果 version_id
省略 ,則會擷取最新版本。
get_definitions
取得數據集的所有定義。
get_definitions()
傳回
類型 | Description |
---|---|
數據集定義的字典。 |
備註
在 AzureML 工作區中註冊的數據集可以有多個定義,每個定義都是藉由呼叫 update_definition來建立。 每個定義都有唯一標識碼。 目前的定義是最新建立的定義。
對於未註冊的數據集,只有一個定義存在。
get_profile
取得稍早計算數據集的摘要統計數據。
get_profile(arguments=None, generate_if_not_exist=True, workspace=None, compute_target=None)
參數
名稱 | Description |
---|---|
arguments
必要
|
配置檔自變數。 |
generate_if_not_exist
必要
|
指出如果配置檔不存在,是否要產生配置檔。 |
workspace
必要
|
工作區,需要暫時性 (未註冊) 數據集。 |
compute_target
必要
|
要執行配置檔動作的計算目標。 |
傳回
類型 | Description |
---|---|
<xref:azureml.dataprep.DataProfile>
|
數據集的 DataProfile。 |
備註
針對向 Azure Machine Learning 工作區註冊的數據集,這個方法會擷取稍早藉由呼叫 get_profile
的現有配置檔是否仍然有效而建立。 在數據集中偵測到變更的數據時,配置檔會失效,或自變數與產生配置檔時所使用的自變數 get_profile
不同。 如果配置檔不存在或失效, generate_if_not_exist
將會判斷是否產生新的配置檔。
對於未向 Azure Machine Learning 工作區註冊的數據集,此方法一律會執行 generate_profile 並傳回結果。
get_snapshot
依名稱取得數據集的快照集。
get_snapshot(snapshot_name)
參數
名稱 | Description |
---|---|
snapshot_name
必要
|
快照集名稱。 |
傳回
類型 | Description |
---|---|
數據集快照集物件。 |
head
從此數據集提取指定的記錄數目,並將其傳回為 DataFrame。
head(count)
參數
名稱 | Description |
---|---|
count
必要
|
要提取的記錄數目。 |
傳回
類型 | Description |
---|---|
Pandas 數據框架。 |
list
列出工作區中的所有數據集,包括屬性 is_visible
等於 False 的數據集。
static list(workspace)
參數
名稱 | Description |
---|---|
workspace
必要
|
您想要擷取資料集清單的工作區。 |
傳回
類型 | Description |
---|---|
Dataset 對象的清單。 |
reactivate
重新啟用已封存或已淘汰的數據集。
reactivate()
傳回
類型 | Description |
---|---|
無。 |
register
在工作區中註冊數據集,使其可供工作區的其他使用者使用。
register(workspace, name, description=None, tags=None, visible=True, exist_ok=False, update_if_exist=False)
參數
名稱 | Description |
---|---|
workspace
必要
|
要在其中註冊數據集的 AzureML 工作區。 |
name
必要
|
工作區中數據集的名稱。 |
description
必要
|
數據集的描述。 |
tags
必要
|
要與數據集建立關聯的標記。 |
visible
必要
|
指出數據集是否顯示在UI中。 如果為 False,則數據集會隱藏在 UI 中,並透過 SDK 取得。 |
exist_ok
必要
|
如果為 True,如果數據集已存在於指定的工作區中,則此方法會傳回數據集,否則會傳回錯誤。 |
update_if_exist
必要
|
如果 |
傳回
類型 | Description |
---|---|
工作區中已註冊的 Dataset 物件。 |
sample
使用提供的取樣策略和參數,從來源數據集產生新的範例。
注意
這個方法已被取代,不再受到支援。
TabularDataset在 Dataset.Tabular 上呼叫靜態方法,並在該處使用 方法,以take_sample建立 。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
sample(sample_strategy, arguments)
參數
名稱 | Description |
---|---|
sample_strategy
必要
|
要使用的範例策略。 接受的值為 「top_n」、“simple_random” 或 “stratified”。 |
arguments
必要
|
字典,其中包含上述清單中 「Optional argument」 的索引鍵,以及來自 tye “Type” 資料行的值。 只能使用對應取樣方法的自變數。 例如,針對 「simple_random」 範例類型,您只能指定具有 「probability」 和 「seed」 索引鍵的字典。 |
傳回
類型 | Description |
---|---|
數據集物件做為原始數據集的範例。 |
備註
範例是藉由執行此數據集所定義的轉換管線來產生,然後將取樣策略和參數套用至輸出數據。 每個取樣方法都支援下列選擇性自變數:
top_n
選擇性引數
- n,輸入整數。 選取前 N 個數據列作為範例。
simple_random
選擇性引數
probability,類型 float。 簡單隨機取樣,其中每個數據列都有選取的相同機率。 機率應該是介於 0 到 1 之間的數位。
seed, type float. 隨機數產生器使用。 用於可重複性。
分層
選擇性引數
columns, type list[str]。 數據中的階層數據列清單。
seed, type float. 隨機數產生器使用。 用於可重複性。
fractions, type dict[tuple, float]。 Tuple:定義階層的數據行值必須與數據行名稱的順序相同。 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
執行此數據集定義所定義的轉換管線,以建立 Pandas 數據框架。
注意
這個方法已被取代,不再受到支援。
TabularDataset在 Dataset.Tabular 上呼叫靜態方法,並在該處使用 方法,以to_pandas_dataframe建立 。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
to_pandas_dataframe()
傳回
類型 | Description |
---|---|
Pandas DataFrame。 |
備註
傳回記憶體中完全具體化的 Pandas DataFrame。
to_spark_dataframe
建立 Spark DataFrame,以執行此數據集定義所定義的轉換管線。
注意
這個方法已被取代,不再受到支援。
TabularDataset在 Dataset.Tabular 上呼叫靜態方法,並在該處使用 方法,以to_spark_dataframe建立 。 如需詳細資訊,請參閱https://aka.ms/dataset-deprecation。
to_spark_dataframe()
傳回
類型 | Description |
---|---|
Spark DataFrame。 |
備註
傳回的 Spark 資料框架只是執行計劃,而且實際上不包含任何數據,因為會延遲評估 Spark 數據框架。
update
更新工作區中的數據集可變動屬性,並從工作區傳回更新的數據集。
update(name=None, description=None, tags=None, visible=None)
參數
名稱 | Description |
---|---|
name
必要
|
工作區中數據集的名稱。 |
description
必要
|
數據的描述。 |
tags
必要
|
要與數據集建立關聯的標記。 |
visible
必要
|
指出數據集是否顯示在UI中。 |
傳回
類型 | Description |
---|---|
工作區中已更新的 Dataset 物件。 |
update_definition
更新數據集定義。
update_definition(definition, definition_update_message)
參數
名稱 | Description |
---|---|
definition
必要
|
這個數據集的新定義。 |
definition_update_message
必要
|
定義更新訊息。 |
傳回
類型 | Description |
---|---|
工作區中已更新的 Dataset 物件。 |
備註
若要取用更新的數據集,請使用此方法所傳回的物件。
屬性
definition
傳回目前的數據集定義。
傳回
類型 | Description |
---|---|
數據集定義。 |
備註
數據集定義是一系列步驟,可指定如何讀取和轉換數據。
在 AzureML 工作區中註冊的數據集可以有多個定義,每個定義都是藉由呼叫 update_definition來建立。 每個定義都有唯一標識碼。 擁有多個定義可讓您變更現有的數據集,而不需要中斷相依於舊定義的模型和管線。
對於未註冊的數據集,只有一個定義存在。
definition_version
傳回數據集目前定義的版本。
傳回
類型 | Description |
---|---|
數據集定義版本。 |
備註
數據集定義是一系列步驟,可指定如何讀取和轉換數據。
在 AzureML 工作區中註冊的數據集可以有多個定義,每個定義都是藉由呼叫 update_definition來建立。 每個定義都有唯一標識碼。 目前的定義是所建立的最新定義,其標識碼是由這個 所傳回。
對於未註冊的數據集,只有一個定義存在。
description
id
is_visible
在 Azure ML 工作區 UI 中控制已註冊數據集的可見度。
傳回
類型 | Description |
---|---|
數據集可見性。 |
備註
傳回的值:
True:數據集會顯示在工作區 UI 中。 預設值。
False:數據集隱藏在工作區 UI 中。
不會影響未註冊的數據集。
name
state
傳回數據集的狀態。
傳回
類型 | Description |
---|---|
數據集狀態。 |
備註
狀態的意義和效果如下所示:
作用中。 作用中定義完全符合其音效,所有動作都可以在作用中定義上執行。
已取代。 可以使用已被取代的定義,但每次存取基礎數據時,都會在記錄中記錄警告。
存檔。 封存的定義無法用來執行任何動作。 若要對封存的定義執行動作,必須重新啟用它。