次の方法で共有


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

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

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


   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

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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
必須
str

ダウンロードするストリーム列。

target_path
必須
str

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

評価する式。

戻り値

説明

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

注釈

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


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

マウントするストリーム列。

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

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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

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

戻り値

説明

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

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、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
必須
str

タイムスタンプとして列の名前 (fine_grain_timestampと呼ばされていました) (省略可能)。 既定値は None(clear) です。

partition_timestamp
必須
str

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

属性

timestamp_columns

タイムスタンプ列を返します。

戻り値

説明
(str, str)

データセットに定義されているタイムスタンプ (fine_grain_timestampと呼ばされていました) とpartition_timestamp (粗いグレイン タイムスタンプと呼ばされていました) の列名。