TabularDataset 類別
表示要用於 Azure Machine Learning 的表格式數據集。
TabularDataset 會定義一系列的延遲評估、不可變的作業,以將數據從數據源載入表格式表示。 除非要求 TabularDataset 傳遞數據,否則不會從來源載入數據。
TabularDataset 是使用來自 from_delimited_filesTabularDatasetFactory 類別的方法所建立。
如需詳細資訊,請參閱 新增 & 註冊數據集一文。 若要開始使用表格式資料集,請參閱 https://aka.ms/tabulardataset-samplenotebook。
初始化 TabularDataset 物件。
此建構函式不應該直接叫用。 數據集旨在使用 TabularDatasetFactory 類別來建立。
- 繼承
-
TabularDataset
建構函式
TabularDataset()
備註
您可以使用 類別的方法TabularDatasetFactory,從 CSV、TSV、Parquet 檔案或 SQL 查詢from_*
建立 TabularDataset。 您可以在 TabularDataset 上執行子設定作業,例如分割、略過和篩選記錄。
子設定的結果一律是一或多個新的 TabularDataset 物件。
您也可以將 TabularDataset 轉換成其他格式,例如 pandas DataFrame。 當系統要求將數據傳遞至另一個儲存機制 (時,就會執行實際的數據載入,例如 Pandas 數據框架或 CSV 檔案) 。
TabularDataset 可用來做為實驗執行的輸入。 它也可以向具有指定名稱的工作區註冊,稍後再由該名稱擷取。
方法
download |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 將數據集定義的檔案數據流下載到本機路徑。 |
drop_columns |
從數據集卸除指定的數據行。 如果卸除時間範圍數據行,也會卸除傳回數據集的對應功能。 |
filter |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 篩選數據,只保留符合指定表達式的記錄。 |
get_profile |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 從針對此或工作區中相同數據集提交的最新配置檔執行取得數據配置檔。 |
get_profile_runs |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 傳回與工作區中這個或相同數據集相關聯的先前配置檔執行。 |
keep_columns |
保留指定的數據行,並從數據集卸除所有其他數據行。 如果卸除時間範圍數據行,也會卸除傳回數據集的對應功能。 |
mount |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 建立內容管理員,以掛接數據集所定義的檔案數據流作為本機檔案。 |
partition_by |
分割的數據將會複製並輸出至目標所指定的目的地。 使用數據分割格式從輸出的數據路徑建立數據集,如果提供名稱,請註冊數據集,並傳回具有分割區之新數據路徑的數據集
|
random_split |
將數據集中的記錄隨機分割成兩個部分,大約依指定的百分比來分割。 第一個數據集包含大約 |
skip |
依指定的計數略過數據集頂端的記錄。 |
submit_profile_run |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 提交實驗執行以計算數據配置檔。 數據配置檔對於瞭解輸入數據、識別異常和遺漏值非常有用,方法是提供數據行類型、遺漏值等實用資訊。 |
take |
依指定的計數從數據集頂端擷取記錄的範例。 |
take_sample |
依指定的機率,大約取得數據集中記錄的隨機樣本。 |
time_after |
在指定的開始時間之後,篩選具有時間戳數據行的 TabularDataset。 |
time_before |
在指定的結束時間之前,使用時間戳數據行篩選 TabularDataset。 |
time_between |
篩選指定開始和結束時間之間的 TabularDataset。 |
time_recent |
篩選 TabularDataset,只包含最近數據 (量) 指定的持續時間。 |
to_csv_files |
將目前的數據集轉換成包含 CSV 檔案的 FileDataset。 產生的數據集將包含一或多個 CSV 檔案,每個檔案對應至目前數據集的數據分割。 這些檔案在下載或讀取之前不會具體化。 |
to_dask_dataframe |
注意 這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。 傳回 Dask DataFrame,可延遲讀取數據集中的數據。 |
to_pandas_dataframe |
將所有記錄從數據集載入 pandas DataFrame。 |
to_parquet_files |
將目前的數據集轉換成包含 Parquet 檔案的 FileDataset。 產生的數據集將包含一或多個 Parquet 檔案,每個檔案對應至目前數據集的數據分割。 這些檔案在下載或讀取之前不會具體化。 |
to_spark_dataframe |
將所有記錄從數據集載入 Spark DataFrame。 |
with_timestamp_columns |
定義數據集的時間戳數據行。 |
download
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
將數據集定義的檔案數據流下載到本機路徑。
download(stream_column, target_path=None, overwrite=False, ignore_not_found=True)
參數
- ignore_not_found
- bool
指出如果找不到數據集所指向的某些檔案,是否無法下載。 預設值為 True。 如果ignore_not_found設為 False,如果任何檔案下載失敗,下載將會失敗;否則,只要沒有遇到其他錯誤類型,就會記錄未找到錯誤的衝突,而且 dowload 將會成功。
傳回
傳回所下載每個檔案的檔案路徑陣列。
傳回類型
drop_columns
從數據集卸除指定的數據行。
如果卸除時間範圍數據行,也會卸除傳回數據集的對應功能。
drop_columns(columns)
參數
傳回
傳回已卸除指定數據行的新 TabularDataset 物件。
傳回類型
filter
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
篩選數據,只保留符合指定表達式的記錄。
filter(expression)
參數
傳回
已修改的數據集 (取消註冊) 。
傳回類型
備註
表達式的開頭是使用數據行名稱來編製數據集的索引。 它們支持各種函式和運算符,而且可以使用邏輯運算符來結合。 產生的表達式會在數據提取發生且未定義的位置時,針對每個記錄延遲評估。
dataset['myColumn'] > dataset['columnToCompareAgainst']
dataset['myColumn'].starts_with('prefix')
get_profile
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
從針對此或工作區中相同數據集提交的最新配置檔執行取得數據配置檔。
get_profile(workspace=None)
參數
- workspace
- Workspace
提交配置檔執行的工作區。 預設為此數據集的工作區。 如果數據集未與工作區相關聯,則為必要專案。 如需工作區的詳細資訊,請參閱 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace 。
傳回
從 DatasetProfile 類型的最新配置檔執行分析結果。
傳回類型
get_profile_runs
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
傳回與工作區中這個或相同數據集相關聯的先前配置檔執行。
get_profile_runs(workspace=None)
參數
- workspace
- Workspace
提交配置檔執行的工作區。 預設為此數據集的工作區。 如果數據集未與工作區相關聯,則為必要專案。 如需工作區的詳細資訊,請參閱 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace 。
傳回
azureml.core.Run 類型的iterator物件。
傳回類型
keep_columns
保留指定的數據行,並從數據集卸除所有其他數據行。
如果卸除時間範圍數據行,也會卸除傳回數據集的對應功能。
keep_columns(columns, validate=False)
參數
傳回
傳回新的 TabularDataset 物件,只保留指定的數據行。
傳回類型
mount
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
建立內容管理員,以掛接數據集所定義的檔案數據流作為本機檔案。
mount(stream_column, mount_point=None)
參數
傳回
傳回用於管理掛接生命周期的內容管理員。
傳回類型
partition_by
分割的數據將會複製並輸出至目標所指定的目的地。
使用數據分割格式從輸出的數據路徑建立數據集,如果提供名稱,請註冊數據集,並傳回具有分割區之新數據路徑的數據集
ds = Dataset.get_by_name('test') # indexed by country, state, partition_date
# #1: call partition_by locally
new_ds = ds.partition_by(name="repartitioned_ds", partition_keys=['country'],
target=DataPath(datastore, "repartition"))
partition_keys = newds.partition_keys # ['country']
# new_ds can be passed to PRS as input dataset
partition_by(partition_keys, target, name=None, show_progress=True, partition_as_file_dataset=False)
參數
必要數據存放區路徑,數據框架 parquet 資料將會上傳至其中。 guid 資料夾將會在目標路徑下產生,以避免發生衝突。
- partition_as_file_dataset
選擇性,指出是否傳回 filedataset。 預設值為 False。
傳回
已儲存或已註冊的數據集。
傳回類型
random_split
將數據集中的記錄隨機分割成兩個部分,大約依指定的百分比來分割。
第一個數據集包含大約 percentage
總記錄和剩餘記錄的第二個數據集。
random_split(percentage, seed=None)
參數
傳回
傳回新的 TabularDataset 物件的元組,代表分割后的兩個數據集。
傳回類型
skip
依指定的計數略過數據集頂端的記錄。
skip(count)
參數
傳回
傳回新的 TabularDataset 物件,代表略過記錄的數據集。
傳回類型
submit_profile_run
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
提交實驗執行以計算數據配置檔。
數據配置檔對於瞭解輸入數據、識別異常和遺漏值非常有用,方法是提供數據行類型、遺漏值等實用資訊。
submit_profile_run(compute_target, experiment, cache_datastore_name=None)
參數
- compute_target
- Union[str, ComputeTarget]
要執行配置檔計算實驗的計算目標。 指定 『local』 以使用本機計算。 如需計算目標的詳細資訊,請參閱 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget 。
- experiment
- Experiment
實驗物件。 如需實驗的詳細資訊,請參閱 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment 。
傳回
DatasetProfileRun 類別類型的物件。
傳回類型
take
依指定的計數從數據集頂端擷取記錄的範例。
take(count)
參數
傳回
會傳回代表取樣數據集的新 TabularDataset 物件。
傳回類型
take_sample
依指定的機率,大約取得數據集中記錄的隨機樣本。
take_sample(probability, seed=None)
參數
傳回
會傳回代表取樣數據集的新 TabularDataset 物件。
傳回類型
time_after
在指定的開始時間之後,篩選具有時間戳數據行的 TabularDataset。
time_after(start_time, include_boundary=True, validate=True)
參數
傳回
具有新篩選數據集的 TabularDataset。
傳回類型
time_before
在指定的結束時間之前,使用時間戳數據行篩選 TabularDataset。
time_before(end_time, include_boundary=True, validate=True)
參數
傳回
具有新篩選數據集的 TabularDataset。
傳回類型
time_between
篩選指定開始和結束時間之間的 TabularDataset。
time_between(start_time, end_time, include_boundary=True, validate=True)
參數
傳回
具有新篩選數據集的 TabularDataset。
傳回類型
time_recent
篩選 TabularDataset,只包含最近數據 (量) 指定的持續時間。
time_recent(time_delta, include_boundary=True, validate=True)
參數
傳回
具有新篩選數據集的 TabularDataset。
傳回類型
to_csv_files
將目前的數據集轉換成包含 CSV 檔案的 FileDataset。
產生的數據集將包含一或多個 CSV 檔案,每個檔案對應至目前數據集的數據分割。 這些檔案在下載或讀取之前不會具體化。
to_csv_files(separator=',')
參數
傳回
傳回新的 FileDataset 物件,其中包含一組 CSV 檔案,其中包含此數據集中的數據。
傳回類型
to_dask_dataframe
注意
這是實驗性方法,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。
傳回 Dask DataFrame,可延遲讀取數據集中的數據。
to_dask_dataframe(sample_size=10000, dtypes=None, on_error='null', out_of_range_datetime='null')
參數
- sample_size
要讀取以判斷架構和類型的記錄數目。
- dtypes
選擇性聽寫,指定預期的數據行及其 dtype。 如果提供,則會忽略sample_size。
- on_error
如何處理數據集中的任何錯誤值,例如剖析值時由錯誤所產生的錯誤值。 有效值為 'null',以 null 取代這些值;和 'fail' 會導致例外狀況。
- out_of_range_datetime
如何處理 Pandas 所支援範圍以外的日期時間值。 有效值為 'null',以 null 取代這些值;和 'fail' 會導致例外狀況。
傳回
dask.dataframe.core.DataFrame
to_pandas_dataframe
將所有記錄從數據集載入 pandas DataFrame。
to_pandas_dataframe(on_error='null', out_of_range_datetime='null')
參數
- on_error
如何處理數據集中的任何錯誤值,例如剖析值時由錯誤所產生的錯誤值。 有效值為 'null',以 null 取代這些值;和 'fail' 會導致例外狀況。
- out_of_range_datetime
如何處理 Pandas 所支援範圍以外的日期時間值。 有效值為 'null',以 null 取代這些值;和 'fail' 會導致例外狀況。
傳回
傳回 pandas DataFrame。
傳回類型
to_parquet_files
將目前的數據集轉換成包含 Parquet 檔案的 FileDataset。
產生的數據集將包含一或多個 Parquet 檔案,每個檔案對應至目前數據集的數據分割。 這些檔案在下載或讀取之前不會具體化。
to_parquet_files()
傳回
傳回新的 FileDataset 物件,其中包含此數據集內數據的一組 Parquet 檔案。
傳回類型
to_spark_dataframe
with_timestamp_columns
定義數據集的時間戳數據行。
with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)
參數
傳回
傳回已定義時間戳數據行的新 TabularDataset。
傳回類型
備註
方法會定義要當做時間戳使用的數據行。 數據集上的時間戳數據行可讓您將數據視為時間序列數據,並啟用其他功能。 當數據集同時 timestamp (used to be referred as fine_grain_timestamp)
指定 和 partition_timestamp (used to be referred as coarse grain timestamp)
時,這兩個數據行應該代表相同的時程表。
屬性
timestamp_columns
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應