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

パーティション分割されたデータはコピーされ、ターゲットによって指定されたコピー先に出力されます。

出力されたデータ パスからデータセットをパーティション形式で作成します。名前が指定されている場合はデータセットを登録し、パーティションを含む新しいデータ パスのデータセットを返します


   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
random_split

データセット内のレコードを、指定したおおよその割合でランダムに 2 つの部分に分割します。

最初のデータセットには合計レコード数のおよそ percentage が含まれ、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
必須
str

ダウンロードする stream 列。

target_path
必須
str

ファイルのダウンロード先であるローカル ディレクトリ。 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
必須
any

評価する式。

戻り値

説明

変更されたデータセット (未登録)。

注釈

式は、列の名前を使用してデータセットにインデックスを付けることによって開始されます。 さまざまな関数や演算子がサポートされており、論理演算子を使用して組み合わせることができます。 結果として得られる式は、定義されている場所ではなく、データ プルが発生したときに、各レコードに対して遅延評価されます。


   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
必須
str

マウントする stream 列。

mount_point
必須
str

ファイルのマウント先であるローカル ディレクトリ。 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
必須
str

省略可能。登録名。

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
必須
int

乱数ジェネレーターに使用するオプションのシード。

戻り値

説明

分割後の 2 つのデータセットを表す新しい TabularDataset オブジェクトのタプルを返します。

skip

データセットの先頭から指定したカウントまでレコードをスキップします。

skip(count)

パラメーター

名前 説明
count
必須
int

スキップするレコード数です。

戻り値

説明

レコードがスキップされたデータセットを表す新しい 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
必須
str

プロファイル キャッシュを格納するデータストアの名前。None の場合は、既定のデータストアが使用されます

戻り値

説明

DatasetProfileRun クラス型のオブジェクト。

take

データセットの先頭から指定したカウントまでレコードのサンプルを取得します。

take(count)

パラメーター

名前 説明
count
必須
int

取得するレコードの数。

戻り値

説明

サンプリングされたデータセットを表す新しい TabularDataset オブジェクトを返します。

take_sample

データセット内のレコードのランダム サンプルを、指定したおおよその確率で取得します。

take_sample(probability, seed=None)

パラメーター

名前 説明
probability
必須

レコードがサンプルに含まれる確率。

seed
必須
int

乱数ジェネレーターに使用するオプションのシード。

戻り値

説明

サンプリングされたデータセットを表す新しい TabularDataset オブジェクトを返します。

time_after

指定した開始時刻の後のタイム スタンプ列で TabularDataset をフィルター処理します。

time_after(start_time, include_boundary=True, validate=True)

パラメーター

名前 説明
start_time
必須

データのフィルター処理の下限。

include_boundary
必須

境界時刻 (start_time) に関連付けられている行を含めるかどうかを示します。

validate
必須

指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。

戻り値

説明

フィルター処理された新しいデータセットを含む TabularDataset。

time_before

指定した終了時刻より前のタイム スタンプ列で TabularDataset をフィルター処理します。

time_before(end_time, include_boundary=True, validate=True)

パラメーター

名前 説明
end_time
必須

データのフィルター処理の上限。

include_boundary
必須

境界時刻 (end_time) に関連付けられている行を含めるかどうかを示します。

validate
必須

指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。

戻り値

説明

フィルター処理された新しいデータセットを含む TabularDataset。

time_between

指定した開始時刻と終了時刻の間の TabularDataset をフィルター処理します。

time_between(start_time, end_time, include_boundary=True, validate=True)

パラメーター

名前 説明
start_time
必須

データのフィルター処理の下限。

end_time
必須

データのフィルター処理の上限。

include_boundary
必須

境界時間 (start_endend_time) に関連付けられている行を含めるかどうかを示します。

validate
必須

指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。

戻り値

説明

フィルター処理された新しいデータセットを含む TabularDataset。

time_recent

指定した期間 (量) の最近のデータのみを含むように TabularDataset をフィルター処理します。

time_recent(time_delta, include_boundary=True, validate=True)

パラメーター

名前 説明
time_delta
必須

取得する最近のデータの期間 (量)。

include_boundary
必須

境界時刻 (time_delta) に関連付けられている行を含めるかどうかを示します。

validate
必須

指定した列がデータセットに存在することを検証するかどうかを示します。 既定値は True です。 検証を行うには、現在のコンピューティングからデータ ソースにアクセスできる必要があります。

戻り値

説明

フィルター処理された新しいデータセットを含む TabularDataset。

to_csv_files

現在のデータセットを、CSV ファイルを含む FileDataset に変換します。

結果のデータセットには、1 つ以上の CSV ファイルが含まれ、それぞれが現在のデータセットのデータのパーティションに対応しています。 これらのファイルは、ダウンロードまたは読み取りが行われるまで、具体化されません。

to_csv_files(separator=',')

パラメーター

名前 説明
separator
必須
str

結果のファイル内の値を区切るために使用する区切り記号。

戻り値

説明

このデータセット内のデータを含む 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
必須
str

timestamp (以前の名前は fine_grain_timestamp) としての列の名前 (省略可能)。 既定値は None(clear) です。

partition_timestamp
必須
str

列 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 つの列は同じタイムラインを表す必要があります。

属性

timestamp_columns

timestamp 列を返します。

戻り値

説明
(str, str)

データセットに対して定義されている timestamp (以前の名前は fine_grain_timestamp) と partition_timestamp (以前の名前は coarse_grain_timestamp) の列名。