TabularDataset クラス
Azure Machine Learning で使用する表形式データセットを表します。
TabularDataset は、データ ソースから表形式にデータを読み込む一連の遅延評価された不変操作を定義します。 TabularDataset がデータの配信を求められるまで、データはソースから読み込まれません。
TabularDataset は、from_delimited_files クラスのTabularDatasetFactoryなどのメソッドを使用して作成されます。
詳細については、 データセットの追加と登録に関する記事を参照してください。 表形式データセットの操作を開始するには、 https://aka.ms/tabulardataset-samplenotebookを参照してください。
TabularDataset オブジェクトを初期化します。
このコンストラクターは、直接呼び出すことはできません。 データセットは、 TabularDatasetFactory クラスを使用して作成することを目的としています。
コンストラクター
TabularDataset()
注釈
TabularDataset は、from_*
クラスの TabularDatasetFactory メソッドを使用して、CSV、TSV、Parquet ファイル、または SQL クエリから作成できます。 レコードの分割、スキップ、フィルター処理など、TabularDataset に対してサブセット化操作を実行できます。
サブセット化の結果は、常に 1 つ以上の新しい TabularDataset オブジェクトになります。
また、TabularDataset を pandas DataFrame などの他の形式に変換することもできます。 実際のデータ読み込みは、TabularDataset が別のストレージ メカニズム (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 |
データセット内のレコードをランダムに 2 つの部分に分割し、指定された割合でほぼ分割します。 最初のデータセットには、合計レコードの約 |
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 に変換します。 結果のデータセットには、現在のデータセットのデータのパーティションに対応する 1 つ以上の CSV ファイルが含まれます。 これらのファイルは、ダウンロードまたは読み取りを行うまで具体化されません。 |
to_dask_dataframe |
注 これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。 データセット内のデータを遅延読み取りできる Dask DataFrame を返します。 |
to_pandas_dataframe |
データセットから pandas DataFrame にすべてのレコードを読み込みます。 |
to_parquet_files |
現在のデータセットを Parquet ファイルを含む FileDataset に変換します。 結果のデータセットには、現在のデータセットのデータのパーティションに対応する 1 つ以上の 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)
パラメーター
名前 | 説明 |
---|---|
stream_column
必須
|
ダウンロードするストリーム列。 |
target_path
必須
|
ファイルをダウンロードするローカル ディレクトリ。 None の場合、データは一時ディレクトリにダウンロードされます。 |
overwrite
必須
|
既存のファイルを上書きするかどうかを示します。 既定値は False です。 上書きが True に設定されている場合、既存のファイルは上書きされます。それ以外の場合は例外が発生します。 |
ignore_not_found
必須
|
データセットが指す一部のファイルが見つからない場合にダウンロードを失敗させるかどうかを示します。 既定値は True です。 ignore_not_foundが False に設定されている場合、何らかの理由でファイルのダウンロードが失敗した場合、ダウンロードは失敗します。それ以外の場合、検出されないエラーの警告がログに記録され、他のエラーの種類が見つからない限り、dowload は成功します。 |
戻り値
型 | 説明 |
---|---|
ダウンロードした各ファイルのファイル パスの配列を返します。 |
drop_columns
指定した列をデータセットから削除します。
時系列列が削除されると、返されたデータセットに対応する機能も削除されます。
drop_columns(columns)
パラメーター
名前 | 説明 |
---|---|
columns
必須
|
削除する列の名前または名前の一覧。 |
戻り値
型 | 説明 |
---|---|
指定した列が削除された新しい TabularDataset オブジェクトを返します。 |
filter
注
これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
データをフィルター処理して、指定された式に一致するレコードのみを残します。
filter(expression)
パラメーター
名前 | 説明 |
---|---|
expression
必須
|
評価する式。 |
戻り値
型 | 説明 |
---|---|
変更されたデータセット (未登録)。 |
注釈
式は、列の名前を使用してデータセットにインデックスを付けることで開始されます。 さまざまな関数と演算子をサポートし、論理演算子を使用して組み合わせることができます。 結果の式は、データ プルが発生したときにレコードが定義されている場所ではなく、各レコードに対して遅延評価されます。
dataset['myColumn'] > dataset['columnToCompareAgainst']
dataset['myColumn'].starts_with('prefix')
get_profile
注
これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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
注
これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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 型の iterator オブジェクト。 |
keep_columns
指定した列を保持し、データセットから他のすべての列を削除します。
時系列列が削除されると、返されたデータセットに対応する機能も削除されます。
keep_columns(columns, validate=False)
パラメーター
名前 | 説明 |
---|---|
columns
必須
|
保持する列の名前または名前の一覧。 |
validate
必須
|
返されたデータセットからデータを読み込むことができるかどうかを検証するかどうかを示します。 既定値は False です。 検証では、データ ソースに現在のコンピューティングからアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
指定した列のみが保持されている新しい TabularDataset オブジェクトを返します。 |
mount
注
これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。
データセットによってローカル ファイルとして定義されたファイル ストリームをマウントするためのコンテキスト マネージャーを作成します。
mount(stream_column, mount_point=None)
パラメーター
名前 | 説明 |
---|---|
stream_column
必須
|
マウントするストリーム列。 |
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
注
これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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
必須
|
プロファイル キャッシュを格納するデータストアの名前 。なしの場合、既定のデータストアが使用されます |
戻り値
型 | 説明 |
---|---|
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
注
これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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 を指定するオプションの dict。 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 に変換します。
結果のデータセットには、現在のデータセットのデータのパーティションに対応する 1 つ以上の Parquet ファイルが含まれます。 これらのファイルは、ダウンロードまたは読み取りを行うまで具体化されません。
to_parquet_files()
戻り値
型 | 説明 |
---|---|
このデータセット内のデータを含む Parquet ファイルのセットを含む新しい FileDataset オブジェクトを返します。 |
to_spark_dataframe
データセットから Spark DataFrame にすべてのレコードを読み込みます。
to_spark_dataframe()
戻り値
型 | 説明 |
---|---|
Spark DataFrame を返します。 |
with_timestamp_columns
データセットのタイムスタンプ列を定義します。
with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)
パラメーター
名前 | 説明 |
---|---|
timestamp
必須
|
タイムスタンプとして列の名前 (fine_grain_timestampと呼ばされていました) (省略可能)。 既定値は None(clear) です。 |
partition_timestamp
必須
|
列partition_timestampの名前 (粗いグレイン タイムスタンプと呼ばされていました) (省略可能)。 既定値は None(clear) です。 |
validate
必須
|
指定した列がデータセットに存在するかどうかを検証するかどうかを示します。 既定値は False です。 検証では、データ ソースに現在のコンピューティングからアクセスできる必要があります。 |
戻り値
型 | 説明 |
---|---|
タイムスタンプ列が定義された新しい TabularDataset を返します。 |
注釈
このメソッドは、タイムスタンプとして使用する列を定義します。 データセットのタイムスタンプ列を使用すると、データを時系列データとして扱い、追加の機能を有効にすることができます。 データセットに timestamp (used to be referred as fine_grain_timestamp)
と partition_timestamp (used to be referred as coarse grain timestamp)
の両方が指定されている場合、2 つの列は同じタイムラインを表す必要があります。