MLTable クラス
MLTable を表します。
MLTable は、データ ソースからデータを読み込む一連の遅延評価された不変操作を定義します。 MLTable がデータの配信を求められるまで、データはソースから読み込まれません。
新しい MLTable を初期化します。
このコンストラクターは、直接呼び出されることは想定されていません。 MLTable は、 を使用して load作成することを目的としています。
- 継承
-
builtins.objectMLTable
コンストラクター
MLTable()
メソッド
convert_column_types |
指定した列をそれぞれに指定した新しい型に変換する変換手順を追加します。
|
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
必須
|
この 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
必須
|
列にデータを抽出するために使用するパーティション形式 |
戻り値
型 | 説明 |
---|---|
パーティション形式が指定された形式に設定されている 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
戻り値
型 | 説明 |
---|---|
この 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
必須
|
保持する 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
必須
|
保存先のディレクトリ パス(既定では現在の作業ディレクトリ) |
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
必須
|
パーティション インデックスの一覧 |
戻り値
型 | 説明 |
---|---|
パーティション サイズが更新された MLTable |
注釈
次のコード スニペットは、select_partitions API を使用して、指定された MLTable から選択したパーティションに使用する方法を示しています。
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
この MLTable の最初の カウント 行を Pandas データフレームとして取得します。
show(count=20)
パラメーター
名前 | 説明 |
---|---|
count
必須
|
選択するテーブルの先頭からの行数 |
戻り値
型 | 説明 |
---|---|
<xref:Pandas> <xref:Dataframe>
|
MLTable の最初の カウント 行 |
skip
この MLTable の最初の カウント 行をスキップする変換ステップを追加します。
skip(count)
パラメーター
名前 | 説明 |
---|---|
count
必須
|
スキップする行数 |
戻り値
型 | 説明 |
---|---|
変換ステップが追加された MLTable |
take
この MLTable の最初の カウント 行を選択する変換ステップを追加します。
take(count=20)
パラメーター
名前 | 説明 |
---|---|
count
必須
|
選択するテーブルの先頭からの行数 |
戻り値
型 | 説明 |
---|---|
"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()
戻り値
型 | 説明 |
---|---|
なし |