次の方法で共有


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 を "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

デルタ レイク テーブルから 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 文字列。 例) "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' 無効な行が削除された場合、それ以外の場合はエラーが発生します。

encoding
必須

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

  • utf8 を "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)