次の方法で共有


mltable パッケージ

既存の MLTable ファイルと対話し、新しい MLTable ファイルを作成するための機能が含まれています。

mltable パッケージを使用すると、Jupyter Notebook やお気に入りの Python IDE など、任意の Python 環境でデータを読み込み、変換、分析できます。

パッケージ

tests

既存の MLTable ファイルと対話し、新しい MLTable ファイルを作成するための機能が含まれています。

mltable パッケージを使用すると、Jupyter Notebook やお気に入りの Python IDE など、任意の Python 環境でデータを読み込み、変換、分析できます。

モジュール

mltable

MLTable オブジェクトを作成して操作するための機能が含まれています

クラス

DataType

サポートされている列型 (int、bool、string など) の適切な操作を処理するためのヘルパー クラス。 現在、列の変換先の型を指定するために、 MLTable.convert_column_types(. .. ) & from_delimited_files(...) と共に使用されています。 DataType.from_(...) では、さまざまな種類が選択されます*メソッド。

MLTable

MLTable を表します。

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

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

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

列挙型

MLTableFileEncoding

ファイルからデータを読み取って MLTable を作成するときにエンコードを処理する方法のオプションを定義します。

これらの列挙値は、MLTable クラスで使用されます。

MLTableHeaders

MLTable を作成するためにファイルからデータを読み取るときに列ヘッダーを処理する方法のオプションを定義します。

これらの列挙値は、MLTable クラスで使用されます。

機能

from_delimited_files

区切りファイルの指定されたリストから MLTable を作成します。

from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)

パラメーター

名前 説明
paths
必須

パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリのローカル ファイル パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。

header
必須

ファイルから読み取るときに列ヘッダーを処理する方法。 列挙型 MLTableHeadersを使用して指定されたオプション。 サポートされているヘッダーは、'no_header'、'from_first_file'、'all_files_different_headers'、および 'all_files_same_headers' です。

delimiter
必須
str

列を分割するために使用される区切り記号

support_multi_line
必須

False の場合、引用符で囲まれたフィールド値を含むすべての改行は、レコード区切りとして解釈されます。 この方法でデータを読み込むと、複数の CPU コアでの並列実行で速度と最適化が向上します。 ただし、フィールド値が不整合なレコードが警告なしで多数生成される可能性があります。 引用符で囲まれた改行が区切りファイルに含まれていることがわかっている場合は、これを True に設定する必要があります。

この csv ファイルを例として指定すると、support_multi_line に基づいてデータが異なる方法で読み取られます。

A,B,C A1,B1,C1 A2,"B 2",C2


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(path)
   print(mltable.to_pandas_dataframe())
   #      A   B     C
   #  0  A1  B1    C1
   #  1  A2   B  None
   #  2  2"  C2  None

   # to handle quoted line breaks
   mltable = from_delimited_files(path, support_multi_line=True)
   print(mltable.to_pandas_dataframe())
   #      A       B   C
   #  0  A1      B1  C1
   #  1  A2  B\r\n2  C2
empty_as_string
必須

空のフィールドの処理方法。 True の場合、空のフィールドは空の文字列として読み取られます。それ以外の場合は null として読み取られます。 True と列に datetime または数値データが含まれている場合でも、空のフィールドは null として読み取られます。

encoding
必須

列挙型 を使用してファイル エンコードを指定します MLTableFileEncoding。 サポートされているエンコードは次のとおりです。

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 を "iso88591" または "iso-8859-1"
  • latin1 を "latin1" または "latin-1" として使用する
  • utf16 を "utf16" または "utf-16" として使用する
  • windows1252 を "windows1252" または "windows-1252" として
include_path_column
必須

MLTable 内の列としてパス情報を保持すると、複数のファイルを読み取り、特定のレコードの取得元のファイルを把握したり、ファイル パスに格納される可能性のある有用な情報を保持したりする場合に便利です。

infer_column_types
必須

True の場合、すべての列の種類が自動的に推論されます。 False の場合、列は文字列として残ります。 ディクショナリの場合、 は、型を特定の型に設定する列を表します (他のすべての列が推論されます)。 ディクショナリには、列型の推論に使用 する 行数を表す、正の整数にマップsample_sizeという名前のキーが含まれている場合があります。 ディクショナリには、'column_type_overrides' という名前のキーを含めることもできます。 ディクショナリ内の各キーは、列名を表す文字列、または列名のグループを表す文字列のタプルです。 各値は、文字列 ('boolean'、'string'、'float'、または 'int' のいずれか) または DataTypeです。 mltable。DataType.to_stream() はサポートされていません。 空の辞書が指定されている場合は、True と見なされます。 既定値は True です。

infer_column_typesの書式設定方法の例。


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(paths, infer_column_types={
       'sample_size': 100,
       'column_type_overrides': {
           'colA': 'boolean'
           ('colB', 'colC'): DataType.to_int()
       }
   })

戻り値

説明

MLTable

注釈

有効なパス文字列が必要です。


   # load mltable from local delimited file
   from mltable import from_delimited_files
   paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
   mltable = from_delimited_files(paths)

from_delta_lake

Delta Lake テーブルから Parquet ファイルを読み取る MLTable オブジェクトを作成します。

from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)

パラメーター

名前 説明
delta_table_uri
必須
str

読み取るデルタ レイク Parquet ファイルを含むデルタ テーブル ディレクトリを指す URI。 サポートされている URI の種類は、ローカル パス URI、ストレージ URI、長い形式のデータストア URI、またはデータ資産 URI です。

timestamp_as_of
必須

特定の時点から一致する Parquet ファイルの読み取りに使用する RFC-3339/ISO-8601 形式の datetime 文字列。 ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
必須
int

特定のバージョンの Parquet ファイルで読み取るために使用する整数バージョン。

include_path_column
必須

パス情報を列として保持します。複数のファイルを読み取り、特定のレコードの取得元のファイルを知りたい場合や、ファイル パスに格納される可能性のある有用な情報を保持する場合に便利です。

戻り値

説明

MLTable インスタンス

注釈

from_delta_lake は、デルタ レイク フォルダーから表形式にデータを読み込む操作を定義する MLTable オブジェクトを作成します。

Azure Machine Learning でデータにアクセスできるようにするには、 パス がデルタ テーブル ディレクトリを指している必要があり、参照されるデルタ レイク ファイルには、AzureML サービスまたはパブリック Web URL の背後からアクセスできる必要があります。

from_delta_lake では、ローカル パス、BLOB、ADLS Gen1、ADLS Gen2 を指す URI からのデルタ レイク データの読み取りがサポートされています

ユーザーは、返された MLTable で to_pandas_dataframe() を呼び出すことで、データの読み取りと具体化を行えます


   # create an MLTable object from a delta lake using timestamp versioning and materialize the data
   from mltable import from_delta_lake
   mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
   pd = mltable_ts.to_pandas_dataframe()

   # create  an MLTable object from a delta lake using integer versioning and materialize the data
   from mltable import from_delta_lake
   mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
   pd = mltable_version.to_pandas_dataframe()

from_json_lines_files

指定された JSON ファイル パスの一覧から MLTable を作成します。

from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)

パラメーター

名前 説明
paths
必須

パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリのローカル ファイル パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。

invalid_lines
必須
str

無効な JSON である行を処理する方法は、'drop' または 'error' です。 'drop' 無効な行が削除されると、else エラーが発生します。

encoding
必須

列挙型 を使用してファイル エンコードを指定します MLTableFileEncoding。 サポートされているファイル エンコーディング:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 を "iso88591" または "iso-8859-1"
  • latin1 を "latin1" または "latin-1" として使用する
  • utf16 を "utf16" または "utf-16" として使用する
  • windows1252 を "windows1252" または "windows-1252" として
include_path_column
必須

パス情報を列として保持します。複数のファイルを読み取り、特定のレコードの取得元のファイルを知りたい場合や、ファイル パスに格納される可能性のある有用な情報を保持する場合に便利です。

戻り値

説明

MLTable

注釈

有効なパス ディクショナリが必要です


   # load mltable from local JSON paths
   from mltable import from_json_lines_files
   paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
   mltable = from_json_lines_files(paths)

from_parquet_files

指定した Parquet ファイルの一覧から MLTable を作成します。

from_parquet_files(paths, include_path_column=False)

パラメーター

名前 説明
paths
必須

パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリのローカル ファイル パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。

include_path_column
必須

パス情報を列として保持します。複数のファイルを読み取り、特定のレコードの取得元のファイルを知りたい場合や、ファイル パスに格納される可能性のある有用な情報を保持する場合に便利です。

戻り値

説明

MLTable インスタンス

注釈

有効なパス ディクショナリが必要です


   # load mltable from local parquet paths
   from mltable import from_parquet_files
   paths = [{'file': './samples/mltable_sample/sample.parquet'}]
   mltable = from_parquet_files(paths)

from_paths

指定したパスから MLTable を作成します。

from_paths(paths)

パラメーター

名前 説明
paths
必須

パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリのローカル ファイル パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。

戻り値

説明

MLTable インスタンス

注釈

有効なパス ディクショナリが必要です


   # load mltable from local paths
   from mltable import from_paths
   tbl = from_paths([{'file': "./samples/mltable_sample"}])

   # load mltable from cloud paths
   from mltable import load
   tbl = from_paths(
       [{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])

load

指定された URI に存在する MLTable ファイル (YAML) を読み込みます。

storage_options では、'subscription'、'resource_group'、'workspace'、または 'location' のキーがサポートされています。 すべて Azure Machine Learning ワークスペースを見つける必要があります。

load(uri, storage_options: dict = None, ml_client=None)

パラメーター

名前 説明
uri
必須
str

uri は、長い形式のデータストア URI、ストレージ URI、ローカル パス、またはデータ資産 URI またはデータ資産の短い URI をサポートします

storage_options
必須

URI が AML 資産の場合の AML ワークスペース情報

ml_client
必須

MLClient インスタンス。 詳細については、 https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.mlclient?view=azure-python を参照してください

戻り値

説明

MLTable

注釈

指定された URI に 'MLTable' という名前の有効な MLTable YAML ファイルが存在する必要があります。


   # load mltable from local folder
   from mltable import load
   tbl = load('.\samples\mltable_sample')

   # load mltable from azureml datastore uri
   from mltable import load
   tbl = load(
       'azureml://subscriptions/<subscription-id>/
       resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
       datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')

   # load mltable from azureml data asset uri
   from mltable import load
   tbl = load(
         'azureml://subscriptions/<subscription-id>/
         resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
         workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')

   # load mltable from azureml data asset short uri
   from mltable import load
   from azure.ai.ml import MLClient
   from azure.identity import DefaultAzureCredential
   credential = DefaultAzureCredential()
   ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
   tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)