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' と値 '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
必須
|
この 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
必須
|
列にデータを抽出するために使用するパーティション形式 |
戻り値
型 | 説明 |
---|---|
パーティション形式が指定された形式に設定されている 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 がローカル ディレクトリ & 絶対ではない場合は、絶対ディレクトリになります。
パスがファイルを指している場合は、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
必須
|
保存先のディレクトリ パス(既定では現在の作業ディレクトリ) |
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()
戻り値
型 | 説明 |
---|---|
なし |