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' と値 '2019-01-01' の datetime 列 'PartitionDate' を含む文字列列 '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 がローカル ディレクトリ & 絶対ではない場合は、絶対ディレクトリになります。

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

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

MLTable が、ローカル相対パスを持つ from_paths()from_read_delimited_files() などのメソッドを使用してプログラム的に作成される場合、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' と値 '2019-01-01' の datetime 列 'PartitionDate' を含む文字列列 '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 がローカル ディレクトリ & 絶対ではない場合は、絶対ディレクトリになります。

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

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

MLTable が、ローカル相対パスを持つ from_paths()from_read_delimited_files() などのメソッドを使用してプログラム的に作成される場合、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 で指定されたパスを含むディクテーションの一覧