次の方法で共有


MLTable クラス

MLTable を表します。

MLTable は、データ ソースからデータを読み込む一連の遅延評価された不変操作を定義します。 MLTable がデータの配信を求められるまで、データはソースから読み込まれません。

新しい MLTable を初期化します。

このコンストラクターは、直接呼び出されることは想定されていません。 MLTable は、 を使用して load作成することを目的としています。

継承
builtins.object
MLTable

コンストラクター

MLTable()

メソッド

convert_column_types

指定した列をそれぞれに指定した新しい型に変換する変換手順を追加します。


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
drop_columns

データセットから指定された列を削除する変換ステップを追加します。 空のリスト、タプル、またはセットが指定されている場合、何も削除されません。 列が重複すると、UserErrorException が発生します。

MLTable.traits.timestamp_column列または MLTable.traits.index_columns 内の列を削除しようとすると、UserErrorException が発生します。

extract_columns_from_partition_format

各パスのパーティション情報を使用し、指定したパーティション形式に基づいて列に抽出する変換ステップを追加します。

形式の '{column_name}' の部分では文字列の列が、'{column_name:yyyy/MM/dd/HH/mm/ss}' では datetime の列が作成されます。ここで、'yyyy'、'MM'、'dd'、'HH'、'mm'、'ss' は datetime 型の年、月、日、時、分、秒の抽出に使用されます。

形式は、最初のパーティション キーの位置から始まり、ファイル パスの末尾までになります。 たとえば、パーティションが部署の名前と時間によってあるパス '/Accounts/2019/01/01/data.csv' を指定すると、 partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' は、値 'Accounts' と datetime 列 'PartitionDate' の値が '2019-01-01' の文字列列 'Department' を作成します。

filter

データをフィルター処理して、指定された式に一致するレコードのみを残します。

get_partition_count

この MLTable に関連付けられているデータの基になるデータ パーティションの数を返します。

keep_columns

指定した列を保持し、データセットから他のすべての列を削除する変換ステップを追加します。 空のリスト、タプル、またはセットが指定されている場合、何も削除されません。 列が重複すると、UserErrorException が発生します。

MLTable.traits.timestamp_column内の列、または MLTable.traits.index_columns の列が明示的に保持されていない場合、UserErrorException は raiesd になります。

random_split

この MLTable を 2 つの MLTable にランダムに分割します。1 つは元の MLTable のデータの約 "パーセント"% を持ち、もう 1 つは剰余 (1-"パーセント"%) を持っています。

save

この MLTable を MLTable YAML ファイルとして保存し、関連付けられたパスを指定したディレクトリ パスに & します。

path が指定されていない場合、既定では現在の作業ディレクトリが使用されます。 path が存在しない場合は、作成されます。 path がリモートの場合は、基になるデータ ストアが既に存在している必要があります。 path がローカル ディレクトリ & 絶対ディレクトリではない場合は、絶対ディレクトリになります。

パスがファイルを指している場合、UserErrorException が発生します。 path が、保存されている 1 つ以上のファイル (MLTable YAML ファイルを含む) を既に含み、overwrite が False または 'fail' に設定されているディレクトリ パスの場合、UserErrorException が発生します。 path がリモートの場合、併置パスとして指定されていないローカル ファイル パス (MLTable が読み込まれたディレクトリに対する相対ファイル パス) は UserErrorException を発生させます。

colocated は、関連付けられたパスを path に保存する方法を制御 します。 True の場合、ファイルは MLTable YAML ファイルと共に相対ファイル パスとして パス にコピーされます。 それ以外の場合、関連付けられたファイルはコピーされません。リモート パスは指定されたとおりに残り、必要に応じて、ローカル ファイル パスはパス リダイレクトを使用して相対パスになります。 False の場合、推奨されない MLTable YAML ファイルが割り当てられていない可能性があります。さらに、 path がリモートの場合は、相対パス リダイレクトがリモート URI でサポートされていないため、UserErrorException が発生します。

MLTable がローカル相対パスを持つ from_paths()from_read_delimited_files() などのメソッドを使用してプログラムで作成される場合、MLTable ディレクトリ パスは現在の作業ディレクトリであると見なされます。

新しい MLTable & 関連付けられたデータ ファイルを、既存の MLTable ファイルを含むディレクトリに保存 &、新しいファイルを保存する前に、ディレクトリが既存のファイルから消去されないデータ ファイルに関連付けられている場合に注意してください。 特に、既存のデータ ファイルに新しいデータ ファイルと一致する名前がない場合は、新しいファイルを保存した後に既存のデータ ファイルを保持できます。 新しい MLTable にパスの下にパターン指定子が含まれている場合、既存のデータ ファイルを新しい MLTable に関連付けることで、MLTable が意図せず変更される可能性があります。

この MLTable のファイル パスが パス 内の既存のファイルを指していても、URI が異なる場合、overwrite が 'fail' または 'skip' の場合、既存のファイルは上書きされません (つまりスキップされます)。

select_partitions

パーティションを選択する変換ステップを追加します。

show

この MLTable の最初の カウント 行を Pandas データフレームとして取得します。

skip

この MLTable の最初の カウント 行をスキップする変換ステップを追加します。

take

この MLTable の最初の カウント 行を選択する変換ステップを追加します。

take_random_sample

確率確率でこの MLTable の各行をランダムに選択する変換ステップを追加します。 確率の範囲は [0, 1] である必要があります。 必要に応じて、ランダム シードを設定できます。

to_pandas_dataframe

MLTable ファイルで指定されたパスからすべてのレコードを Pandas DataFrame に読み込みます。

validate

この MLTable のデータを読み込むことができるかどうかを検証します。現在のコンピューティングから MLTable のデータ ソースにアクセスできるようにする必要があります。

convert_column_types

指定した列をそれぞれに指定した新しい型に変換する変換手順を追加します。


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
convert_column_types(column_types)

パラメーター

名前 説明
column_types
必須

列の辞書: ユーザーが変換する必要がある型

戻り値

説明

変換ステップが追加された MLTable

drop_columns

データセットから指定された列を削除する変換ステップを追加します。 空のリスト、タプル、またはセットが指定されている場合、何も削除されません。 列が重複すると、UserErrorException が発生します。

MLTable.traits.timestamp_column列または MLTable.traits.index_columns 内の列を削除しようとすると、UserErrorException が発生します。

drop_columns(columns: str | List[str] | Tuple[str] | Set[str])

パラメーター

名前 説明
columns
必須
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

この MLTable から削除する列

戻り値

説明

変換ステップが追加された MLTable

extract_columns_from_partition_format

各パスのパーティション情報を使用し、指定したパーティション形式に基づいて列に抽出する変換ステップを追加します。

形式の '{column_name}' の部分では文字列の列が、'{column_name:yyyy/MM/dd/HH/mm/ss}' では datetime の列が作成されます。ここで、'yyyy'、'MM'、'dd'、'HH'、'mm'、'ss' は datetime 型の年、月、日、時、分、秒の抽出に使用されます。

形式は、最初のパーティション キーの位置から始まり、ファイル パスの末尾までになります。 たとえば、パーティションが部署の名前と時間によってあるパス '/Accounts/2019/01/01/data.csv' を指定すると、 partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' は、値 'Accounts' と datetime 列 'PartitionDate' の値が '2019-01-01' の文字列列 'Department' を作成します。

extract_columns_from_partition_format(partition_format)

パラメーター

名前 説明
partition_format
必須
str

列にデータを抽出するために使用するパーティション形式

戻り値

説明

パーティション形式が指定された形式に設定されている MLTable

filter

データをフィルター処理して、指定された式に一致するレコードのみを残します。

filter(expression)

パラメーター

名前 説明
expression
必須

評価する式。

戻り値

説明

フィルター後の MLTable

注釈

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


   filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
   filtered_mltable = mltable.filter('col("FBI Code") == "11"')

get_partition_count

この MLTable に関連付けられているデータの基になるデータ パーティションの数を返します。

get_partition_count() -> int

戻り値

説明
int

この MLTable のデータ パーティション

keep_columns

指定した列を保持し、データセットから他のすべての列を削除する変換ステップを追加します。 空のリスト、タプル、またはセットが指定されている場合、何も削除されません。 列が重複すると、UserErrorException が発生します。

MLTable.traits.timestamp_column内の列、または MLTable.traits.index_columns の列が明示的に保持されていない場合、UserErrorException は raiesd になります。

keep_columns(columns: str | List[str] | Tuple[str] | Set[str])

パラメーター

名前 説明
columns
必須
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

保持する MLTable 内の列

戻り値

説明

変換ステップが追加された MLTable

random_split

この MLTable を 2 つの MLTable にランダムに分割します。1 つは元の MLTable のデータの約 "パーセント"% を持ち、もう 1 つは剰余 (1-"パーセント"%) を持っています。

random_split(percent=0.5, seed=None)

パラメーター

名前 説明
percent
必須

間で分割する MLTable の割合

seed
必須

オプションのランダム シード

戻り値

説明

この MLTable のデータが "パーセント" で分割された 2 つの MLTable

save

この MLTable を MLTable YAML ファイルとして保存し、関連付けられたパスを指定したディレクトリ パスに & します。

path が指定されていない場合、既定では現在の作業ディレクトリが使用されます。 path が存在しない場合は、作成されます。 path がリモートの場合は、基になるデータ ストアが既に存在している必要があります。 path がローカル ディレクトリ & 絶対ディレクトリではない場合は、絶対ディレクトリになります。

パスがファイルを指している場合、UserErrorException が発生します。 path が、保存されている 1 つ以上のファイル (MLTable YAML ファイルを含む) を既に含み、overwrite が False または 'fail' に設定されているディレクトリ パスの場合、UserErrorException が発生します。 path がリモートの場合、併置パスとして指定されていないローカル ファイル パス (MLTable が読み込まれたディレクトリに対する相対ファイル パス) は UserErrorException を発生させます。

colocated は、関連付けられたパスを path に保存する方法を制御 します。 True の場合、ファイルは MLTable YAML ファイルと共に相対ファイル パスとして パス にコピーされます。 それ以外の場合、関連付けられたファイルはコピーされません。リモート パスは指定されたとおりに残り、必要に応じて、ローカル ファイル パスはパス リダイレクトを使用して相対パスになります。 False の場合、推奨されない MLTable YAML ファイルが割り当てられていない可能性があります。さらに、 path がリモートの場合は、相対パス リダイレクトがリモート URI でサポートされていないため、UserErrorException が発生します。

MLTable がローカル相対パスを持つ from_paths()from_read_delimited_files() などのメソッドを使用してプログラムで作成される場合、MLTable ディレクトリ パスは現在の作業ディレクトリであると見なされます。

新しい MLTable & 関連付けられたデータ ファイルを、既存の MLTable ファイルを含むディレクトリに保存 &、新しいファイルを保存する前に、ディレクトリが既存のファイルから消去されないデータ ファイルに関連付けられている場合に注意してください。 特に、既存のデータ ファイルに新しいデータ ファイルと一致する名前がない場合は、新しいファイルを保存した後に既存のデータ ファイルを保持できます。 新しい MLTable にパスの下にパターン指定子が含まれている場合、既存のデータ ファイルを新しい MLTable に関連付けることで、MLTable が意図せず変更される可能性があります。

この MLTable のファイル パスが パス 内の既存のファイルを指していても、URI が異なる場合、overwrite が 'fail' または 'skip' の場合、既存のファイルは上書きされません (つまりスキップされます)。

save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)

パラメーター

名前 説明
path
必須
str

保存先のディレクトリ パス(既定では現在の作業ディレクトリ)

colocated
必須

True の場合、ローカル & リモート ファイル パスのコピーを相対パスとしてこの MLTable に 保存 します。 それ以外の場合、ファイルのコピーは行われず、リモート ファイル パスは、保存された MLTable YAML ファイルとローカル ファイル パスに、パス リダイレクトを使用した相対ファイル パスとして保存されます。 path がリモート & この MLTable にローカル ファイル パスが含まれている場合は、UserErrorException が発生します。

overwrite
必須
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

既存の MLTable YAML ファイルと、 パス の下に既に存在する可能性がある関連ファイルの処理方法。 既存のファイルを置き換える場合は 'overwrite' (または True)、ファイルが既に存在する場合はエラーを発生させる場合は 'fail' (または False)、既存のファイルをそのまま残すには 'skip' を指定します。 で設定 <xref:mltable.MLTableSaveOverwriteOptions>することもできます。

show_progress
必須

stdout へのコピーの進行状況が表示されます

if_err_remove_files
必須

保存中にエラーが発生した場合は、正常に保存されたファイルを削除して操作をアトミックにします

戻り値

説明

この MLTable インスタンス

select_partitions

パーティションを選択する変換ステップを追加します。

select_partitions(partition_index_list)

パラメーター

名前 説明
partition_index_list
必須
list of int

パーティション インデックスの一覧

戻り値

説明

パーティション サイズが更新された MLTable

注釈

次のコード スニペットは、select_partitions API を使用して、指定された MLTable から選択したパーティションに使用する方法を示しています。


   partition_index_list = [1, 2]
   mltable = mltable.select_partitions(partition_index_list)

show

この MLTable の最初の カウント 行を Pandas データフレームとして取得します。

show(count=20)

パラメーター

名前 説明
count
必須
int

選択するテーブルの先頭からの行数

戻り値

説明
<xref:Pandas> <xref:Dataframe>

MLTable の最初の カウント

skip

この MLTable の最初の カウント 行をスキップする変換ステップを追加します。

skip(count)

パラメーター

名前 説明
count
必須
int

スキップする行数

戻り値

説明

変換ステップが追加された MLTable

take

この MLTable の最初の カウント 行を選択する変換ステップを追加します。

take(count=20)

パラメーター

名前 説明
count
必須
int

選択するテーブルの先頭からの行数

戻り値

説明

"take" 変換ステップが追加された MLTable

take_random_sample

確率確率でこの MLTable の各行をランダムに選択する変換ステップを追加します。 確率の範囲は [0, 1] である必要があります。 必要に応じて、ランダム シードを設定できます。

take_random_sample(probability, seed=None)

パラメーター

名前 説明
probability
必須

各行が選択されている可能性

seed
必須

オプションのランダム シード

戻り値

説明

変換ステップが追加された MLTable

to_pandas_dataframe

MLTable ファイルで指定されたパスからすべてのレコードを Pandas DataFrame に読み込みます。

to_pandas_dataframe()

戻り値

説明

この MLTable 内のパスからのレコードを含む Pandas データフレーム

注釈

次のコード スニペットは、to_pandas_dataframe API を使用して、提供された MLTable に対応する pandas データフレームを取得する方法を示しています。


   from mltable import load
   tbl = load('.\samples\mltable_sample')
   pdf = tbl.to_pandas_dataframe()
   print(pdf.shape)

validate

この MLTable のデータを読み込むことができるかどうかを検証します。現在のコンピューティングから MLTable のデータ ソースにアクセスできるようにする必要があります。

validate()

戻り値

説明

なし

属性

partition_keys

パーティション キーを返します。

戻り値

説明

パーティション キー

paths

この MLTable に指定された元のパスを含むディクショナリの一覧を返します。 相対ローカル ファイル パスは、この MLTable インスタンスが読み込まれた MLTable YAML ファイルのディレクトリに対する相対パスであると見なされます。

戻り値

説明

MLTable で指定されたパスを含むディクテーションの一覧