TabularDataset クラス
Azure Machine Learning で使用する表形式データセットを表します。
TabularDataset は、データ ソースから表形式にデータを読み込む、遅延評価される変更不可の一連の操作を定義します。 TabularDataset に対してデータの配信が要求されるまで、データはソースから読み込まれません。
TabularDataset は、TabularDatasetFactory クラスの from_delimited_files のようなメソッドを使用して作成されます。
詳細については、 データセットの追加 & 登録に関する記事を参照してください。 表形式データセットの使用を開始するには、https://aka.ms/tabulardataset-samplenotebook を参照してください。
TabularDataset オブジェクトを初期化します。
このコンストラクターは、直接呼び出されることは想定されていません。 データセットは、 クラスを使用して TabularDatasetFactory 作成することを目的としています。
- 継承
-
TabularDataset
コンストラクター
TabularDataset()
注釈
TabularDataset は、TabularDatasetFactory クラスの from_*
メソッドを使用して、CSV、TSV、Parquet ファイル、または SQL クエリから作成できます。 TabularDataset に対して、レコードの分割、スキップ、フィルター処理などのサブセット化操作を実行できます。
サブセット化の結果は、常に 1 つ以上の新しい TabularDataset オブジェクトになります。
TabularDataset を pandas データフレームなどの他の形式に変換することもできます。 実際のデータ読み込みは、TabularDataset が別のストレージ メカニズム (Pandas データフレームや CSV ファイルなど) にデータを配信する必要がある場合に発生します。
TabularDataset は、試験的な実行の入力として使用できます。 また、指定した名前を使用してワークスペースに登録し、後で、その名前で取得することもできます。
メソッド
download |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 データセットによって定義されたファイル ストリームをローカル パスにダウンロードします。 |
drop_columns |
指定した列をデータセットから削除します。 timeseries 列が削除されると、返されるデータセットでも対応する機能が削除されます。 |
filter |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 データをフィルター処理して、指定された式に一致するレコードのみを残します。 |
get_profile |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 このデータセットまたはワークスペース内の同じデータセットに対して送信された最新のプロファイル実行からデータ プロファイルを取得します。 |
get_profile_runs |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 このデータセットまたはワークスペース内の同じデータセットに関連付けられている以前のプロファイル実行を返します。 |
keep_columns |
指定された列を残し、その他すべての列をデータセットから削除します。 timeseries 列が削除されると、返されるデータセットでも対応する機能が削除されます。 |
mount |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 データセットによって定義されたファイル ストリームをローカル ファイルとしてマウントするためのコンテキスト マネージャーを作成します。 |
partition_by |
パーティション分割されたデータはコピーされ、ターゲットによって指定されたコピー先に出力されます。 出力されたデータ パスからデータセットをパーティション形式で作成します。名前が指定されている場合はデータセットを登録し、パーティションを含む新しいデータ パスのデータセットを返します
|
random_split |
データセット内のレコードを、指定したおおよその割合でランダムに 2 つの部分に分割します。 最初のデータセットには合計レコード数のおよそ |
skip |
データセットの先頭から指定したカウントまでレコードをスキップします。 |
submit_profile_run |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 実験実行を送信してデータ プロファイルを計算します。 データ プロファイルは、列の型や欠損値などのデータに関する有用な情報を提供するものであり、入力データを理解し、異常や欠損値を特定するために大いに役立ちます。 |
take |
データセットの先頭から指定したカウントまでレコードのサンプルを取得します。 |
take_sample |
データセット内のレコードのランダム サンプルを、指定したおおよその確率で取得します。 |
time_after |
指定した開始時刻の後のタイム スタンプ列で TabularDataset をフィルター処理します。 |
time_before |
指定した終了時刻より前のタイム スタンプ列で TabularDataset をフィルター処理します。 |
time_between |
指定した開始時刻と終了時刻の間の TabularDataset をフィルター処理します。 |
time_recent |
指定した期間 (量) の最近のデータのみを含むように TabularDataset をフィルター処理します。 |
to_csv_files |
現在のデータセットを、CSV ファイルを含む FileDataset に変換します。 結果のデータセットには、1 つ以上の CSV ファイルが含まれ、それぞれが現在のデータセットのデータのパーティションに対応しています。 これらのファイルは、ダウンロードまたは読み取りが行われるまで、具体化されません。 |
to_dask_dataframe |
Note これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 データセット内のデータを遅延読み取りできる Dask データフレームを返します。 |
to_pandas_dataframe |
データセットから pandas データフレームにすべてのレコードを読み込みます。 |
to_parquet_files |
現在のデータセットを、Parquet ファイルを含む FileDataset に変換します。 結果のデータセットには、1 つ以上の Parquet ファイルが含まれ、それぞれが現在のデータセットのデータのパーティションに対応しています。 これらのファイルは、ダウンロードまたは読み取りが行われるまで、具体化されません。 |
to_spark_dataframe |
データセットから Spark データフレームにすべてのレコードを読み込みます。 |
with_timestamp_columns |
データセットの timestamp 列を定義します。 |
download
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
データセットによって定義されたファイル ストリームをローカル パスにダウンロードします。
download(stream_column, target_path=None, overwrite=False, ignore_not_found=True)
パラメーター
名前 | 説明 |
---|---|
stream_column
必須
|
ダウンロードする stream 列。 |
target_path
必須
|
ファイルのダウンロード先であるローカル ディレクトリ。 None の場合、データは一時ディレクトリにダウンロードされます。 |
overwrite
必須
|
既存のファイルを上書きするかどうかを示します。 既定値は False です。 overwrite を True に設定した場合は既存のファイルが上書きされ、それ以外の場合は例外が発生します。 |
ignore_not_found
必須
|
データセットで指示されたファイルの一部が見つからない場合にダウンロードに失敗するかどうかを示します。 既定値は True です。 ignore_not_found を False に設定した場合、何らかの理由でいずれかのファイルのダウンロードが失敗すると、ダウンロードは失敗します。それ以外の場合、見つからないエラーの警告がログに記録され、他のエラーの種類が検出されない限り、ダウンロードは成功します。 |
戻り値
型 | 説明 |
---|---|
ダウンロードされた各ファイルのファイル パスの配列を返します。 |
drop_columns
指定した列をデータセットから削除します。
timeseries 列が削除されると、返されるデータセットでも対応する機能が削除されます。
drop_columns(columns)
パラメーター
名前 | 説明 |
---|---|
columns
必須
|
削除する列の名前または名前のリスト。 |
戻り値
型 | 説明 |
---|---|
指定した列を削除した新しい TabularDataset オブジェクトを返します。 |
filter
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
データをフィルター処理して、指定された式に一致するレコードのみを残します。
filter(expression)
パラメーター
名前 | 説明 |
---|---|
expression
必須
|
評価する式。 |
戻り値
型 | 説明 |
---|---|
変更されたデータセット (未登録)。 |
注釈
式は、列の名前を使用してデータセットにインデックスを付けることによって開始されます。 さまざまな関数や演算子がサポートされており、論理演算子を使用して組み合わせることができます。 結果として得られる式は、定義されている場所ではなく、データ プルが発生したときに、各レコードに対して遅延評価されます。
dataset['myColumn'] > dataset['columnToCompareAgainst']
dataset['myColumn'].starts_with('prefix')
get_profile
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
このデータセットまたはワークスペース内の同じデータセットに対して送信された最新のプロファイル実行からデータ プロファイルを取得します。
get_profile(workspace=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
プロファイル実行が送信されたワークスペース。 既定値は、このデータセットのワークスペースです。 データセットがワークスペースに関連付けられていない場合は必須です。 ワークスペースの詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace を参照してください。 |
戻り値
型 | 説明 |
---|---|
DatasetProfile 型の最新のプロファイル実行からのプロファイル結果。 |
get_profile_runs
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
このデータセットまたはワークスペース内の同じデータセットに関連付けられている以前のプロファイル実行を返します。
get_profile_runs(workspace=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
プロファイル実行が送信されたワークスペース。 既定値は、このデータセットのワークスペースです。 データセットがワークスペースに関連付けられていない場合は必須です。 ワークスペースの詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace を参照してください。 |
戻り値
型 | 説明 |
---|---|
azureml.core.Run 型の反復子オブジェクト。 |
keep_columns
指定された列を残し、その他すべての列をデータセットから削除します。
timeseries 列が削除されると、返されるデータセットでも対応する機能が削除されます。
keep_columns(columns, validate=False)
パラメーター
名前 | 説明 |
---|---|
columns
必須
|
列に保持される名前または名前のリスト。 |
validate
必須
|
返されたデータセットからデータを読み込むことができることを検証するかどうかを示すブール値。 既定値は False です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
指定した列だけを残した新しい TabularDataset オブジェクトを返します。 |
mount
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
データセットによって定義されたファイル ストリームをローカル ファイルとしてマウントするためのコンテキスト マネージャーを作成します。
mount(stream_column, mount_point=None)
パラメーター
名前 | 説明 |
---|---|
stream_column
必須
|
マウントする stream 列。 |
mount_point
必須
|
ファイルのマウント先であるローカル ディレクトリ。 None の場合、データは一時ディレクトリにマウントされます。これを見つけるには、MountContext.mount_point インスタンス メソッドを呼び出します。 |
戻り値
型 | 説明 |
---|---|
<xref:azureml.dataprep.fuse.daemon.MountContext>
|
マウントのライフサイクルを管理するためのコンテキスト マネージャーを返します。 |
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)
パラメーター
名前 | 説明 |
---|---|
partition_keys
必須
|
必須。パーティションのキー |
target
必須
|
必須。データフレームの parquet データのアップロード先となるデータストアのパス。 競合を避けるため、ターゲット パスの下に guid フォルダーが生成されます。 |
name
必須
|
省略可能。登録名。 |
show_progress
必須
|
任意。コンソールにアップロードの進行状況を表示するかどうかを示します。 既定値は True です。 |
partition_as_file_dataset
必須
|
省略可能。filedataset を返すかどうかを示します。 既定値は False です。 |
戻り値
型 | 説明 |
---|---|
保存または登録されたデータセット。 |
random_split
データセット内のレコードを、指定したおおよその割合でランダムに 2 つの部分に分割します。
最初のデータセットには合計レコード数のおよそ percentage
が含まれ、2 番目のデータセットには残りのレコードが含まれます。
random_split(percentage, seed=None)
パラメーター
名前 | 説明 |
---|---|
percentage
必須
|
データセットを分割するおおよその割合。 これには、0.0 から 1.0 までの数値を指定する必要があります。 |
seed
必須
|
乱数ジェネレーターに使用するシード (省略可能)。 |
戻り値
型 | 説明 |
---|---|
分割後の 2 つのデータセットを表す新しい TabularDataset オブジェクトのタプルを返します。 |
skip
データセットの先頭から指定したカウントまでレコードをスキップします。
skip(count)
パラメーター
名前 | 説明 |
---|---|
count
必須
|
スキップするレコード数です。 |
戻り値
型 | 説明 |
---|---|
レコードがスキップされたデータセットを表す新しい TabularDataset オブジェクトを返します。 |
submit_profile_run
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
実験実行を送信してデータ プロファイルを計算します。
データ プロファイルは、列の型や欠損値などのデータに関する有用な情報を提供するものであり、入力データを理解し、異常や欠損値を特定するために大いに役立ちます。
submit_profile_run(compute_target, experiment, cache_datastore_name=None)
パラメーター
名前 | 説明 |
---|---|
compute_target
必須
|
プロファイル計算の実験を実行する対象のコンピューティング ターゲット。 ローカル コンピューティングを使用するには、'local' を指定します。 コンピューティング先の詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget を参照してください。 |
experiment
必須
|
実験オブジェクト。 実験の詳細については、https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experimentを参照してください。 |
cache_datastore_name
必須
|
プロファイル キャッシュを格納するデータストアの名前。None の場合は、既定のデータストアが使用されます |
戻り値
型 | 説明 |
---|---|
DatasetProfileRun クラス型のオブジェクト。 |
take
データセットの先頭から指定したカウントまでレコードのサンプルを取得します。
take(count)
パラメーター
名前 | 説明 |
---|---|
count
必須
|
取得するレコードの数。 |
戻り値
型 | 説明 |
---|---|
サンプリングされたデータセットを表す新しい TabularDataset オブジェクトを返します。 |
take_sample
データセット内のレコードのランダム サンプルを、指定したおおよその確率で取得します。
take_sample(probability, seed=None)
パラメーター
名前 | 説明 |
---|---|
probability
必須
|
レコードがサンプルに含まれる確率。 |
seed
必須
|
乱数ジェネレーターに使用するオプションのシード。 |
戻り値
型 | 説明 |
---|---|
サンプリングされたデータセットを表す新しい TabularDataset オブジェクトを返します。 |
time_after
指定した開始時刻の後のタイム スタンプ列で TabularDataset をフィルター処理します。
time_after(start_time, include_boundary=True, validate=True)
パラメーター
名前 | 説明 |
---|---|
start_time
必須
|
データのフィルター処理の下限。 |
include_boundary
必須
|
境界時刻 ( |
validate
必須
|
指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
フィルター処理された新しいデータセットを含む TabularDataset。 |
time_before
指定した終了時刻より前のタイム スタンプ列で TabularDataset をフィルター処理します。
time_before(end_time, include_boundary=True, validate=True)
パラメーター
名前 | 説明 |
---|---|
end_time
必須
|
データのフィルター処理の上限。 |
include_boundary
必須
|
境界時刻 ( |
validate
必須
|
指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
フィルター処理された新しいデータセットを含む TabularDataset。 |
time_between
指定した開始時刻と終了時刻の間の TabularDataset をフィルター処理します。
time_between(start_time, end_time, include_boundary=True, validate=True)
パラメーター
名前 | 説明 |
---|---|
start_time
必須
|
データのフィルター処理の下限。 |
end_time
必須
|
データのフィルター処理の上限。 |
include_boundary
必須
|
境界時間 ( |
validate
必須
|
指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
フィルター処理された新しいデータセットを含む TabularDataset。 |
time_recent
指定した期間 (量) の最近のデータのみを含むように TabularDataset をフィルター処理します。
time_recent(time_delta, include_boundary=True, validate=True)
パラメーター
名前 | 説明 |
---|---|
time_delta
必須
|
取得する最近のデータの期間 (量)。 |
include_boundary
必須
|
境界時刻 ( |
validate
必須
|
指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
フィルター処理された新しいデータセットを含む TabularDataset。 |
to_csv_files
現在のデータセットを、CSV ファイルを含む FileDataset に変換します。
結果のデータセットには、1 つ以上の CSV ファイルが含まれ、それぞれが現在のデータセットのデータのパーティションに対応しています。 これらのファイルは、ダウンロードまたは読み取りが行われるまで、具体化されません。
to_csv_files(separator=',')
パラメーター
名前 | 説明 |
---|---|
separator
必須
|
結果のファイル内の値を区切るために使用する区切り記号。 |
戻り値
型 | 説明 |
---|---|
このデータセット内のデータを含む CSV ファイルのセットを持つ新しい FileDataset オブジェクトを返します。 |
to_dask_dataframe
Note
これは試験的なメソッドであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
データセット内のデータを遅延読み取りできる Dask データフレームを返します。
to_dask_dataframe(sample_size=10000, dtypes=None, on_error='null', out_of_range_datetime='null')
パラメーター
名前 | 説明 |
---|---|
sample_size
必須
|
スキーマと型を決定するために読み取るレコードの数。 |
dtypes
必須
|
予期される列とその dtype を指定する省略可能な dict。 これが指定されている場合、sample_size は無視されます。 |
on_error
必須
|
データセット内のエラー値 (値の解析中にエラーによって生成されたものなど) を処理する方法。 有効な値は、null 値に置き換える 'null' と、例外が発生する 'fail' です。 |
out_of_range_datetime
必須
|
Pandas でサポートされている範囲を超えた日時の値を処理する方法。 有効な値は、null 値に置き換える 'null' と、例外が発生する 'fail' です。 |
戻り値
型 | 説明 |
---|---|
dask.dataframe.core.DataFrame |
to_pandas_dataframe
データセットから pandas データフレームにすべてのレコードを読み込みます。
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 データフレームを返します。 |
to_parquet_files
現在のデータセットを、Parquet ファイルを含む FileDataset に変換します。
結果のデータセットには、1 つ以上の Parquet ファイルが含まれ、それぞれが現在のデータセットのデータのパーティションに対応しています。 これらのファイルは、ダウンロードまたは読み取りが行われるまで、具体化されません。
to_parquet_files()
戻り値
型 | 説明 |
---|---|
このデータセット内のデータを含む Parquet ファイルのセットを持つ新しい FileDataset オブジェクトを返します。 |
to_spark_dataframe
データセットから Spark データフレームにすべてのレコードを読み込みます。
to_spark_dataframe()
戻り値
型 | 説明 |
---|---|
Spark データフレームを作成します。 |
with_timestamp_columns
データセットの timestamp 列を定義します。
with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)
パラメーター
名前 | 説明 |
---|---|
timestamp
必須
|
timestamp (以前の名前は fine_grain_timestamp) としての列の名前 (省略可能)。 既定値は None(clear) です。 |
partition_timestamp
必須
|
列 partition_timestamp (以前の名前は fine_grain_timestamp) の名前 (省略可能)。 既定値は None(clear) です。 |
validate
必須
|
指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は False です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
timestamp 列が定義された新しい TabularDataset を返します。 |
注釈
このメソッドは、timestamp として使用される列を定義します。 データセットの timestamp 列を使用すると、データを時系列データとして扱うことができ、追加の機能を有効にできます。 データセットに timestamp (used to be referred as fine_grain_timestamp)
と partition_timestamp (used to be referred as coarse grain timestamp)
の両方を指定した場合、2 つの列は同じタイムラインを表す必要があります。