Freigeben über


mltable Paket

Enthält Funktionen für die Interaktion mit vorhandenen und das Erstellen neuer MLTable-Dateien.

Mit dem mltable-Paket können Sie Daten in jeder Python-Umgebung laden, transformieren und analysieren, einschließlich Jupyter Notebooks oder Ihrer bevorzugten Python-IDE.

Pakete

tests

Enthält Funktionen für die Interaktion mit vorhandenen und das Erstellen neuer MLTable-Dateien.

Mit dem mltable-Paket können Sie Daten in jeder Python-Umgebung laden, transformieren und analysieren, einschließlich Jupyter Notebooks oder Ihrer bevorzugten Python-IDE.

Module

mltable

Enthält Funktionen zum Erstellen und Interagieren mit MLTable-Objekten

Klassen

DataType

Hilfsklasse für die richtige Bearbeitung unterstützter Spaltentypen (int, bool, string usw.). Wird derzeit mit MLTable.convert_column_types(...) & from_delimited_files(...) verwendet, um anzugeben, in welche Typen Spalten konvertiert werden sollen. Verschiedene Typen werden mit DataType.from_(...) *Methoden.

MLTable

Stellt eine MLTable dar.

Eine MLTable definiert eine Reihe von lazily ausgewerteten, unveränderlichen Vorgängen zum Laden von Daten aus der Datenquelle. Daten werden erst aus der Quelle geladen, wenn MLTable aufgefordert wird, Daten zu übermitteln.

Initialisieren Sie eine neue MLTable.

Dieser Konstruktor sollte nicht direkt aufgerufen werden. MLTable soll mit loaderstellt werden.

Enumerationen

MLTableFileEncoding

Definiert Optionen für die Verarbeitung der Codierung beim Lesen von Daten aus Dateien, um eine MLTable zu erstellen.

Diese Enumerationswerte werden in der MLTable-Klasse verwendet.

MLTableHeaders

Definiert Optionen für die Verarbeitung von Spaltenheadern beim Lesen von Daten aus Dateien, um eine MLTable zu erstellen.

Diese Enumerationswerte werden in der MLTable-Klasse verwendet.

Functions

from_delimited_files

Erstellt eine MLTable aus der angegebenen Liste mit durch Trennzeichen getrennten Dateien.

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)

Parameter

Name Beschreibung
paths
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfehlen Sie stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

header
Erforderlich

Wie Spaltenheader beim Lesen aus Dateien behandelt werden. Optionen, die mithilfe der Enumeration MLTableHeadersangegeben werden. Unterstützte Header sind "no_header", "from_first_file", "all_files_different_headers" und "all_files_same_headers".

delimiter
Erforderlich
str

Trennzeichen, das zum Aufteilen von Spalten verwendet wird

support_multi_line
Erforderlich

Bei False werden alle Zeilenumbrüche, einschließlich der in Anführungszeichenfeldwerten, als Datensatzumbruch interpretiert. Das Lesen von Daten auf diese Weise ist schneller und für die parallele Ausführung auf mehreren CPU-Kernen optimiert. Es kann jedoch dazu führen, dass im Hintergrund mehr Datensätze mit falsch ausgerichteten Feldwerten erzeugt werden. Dieser sollte auf „True“ festgelegt werden, wenn bekannt ist, dass die durch Trennzeichen getrennten Dateien Zeilenumbrüche in Anführungszeichen enthalten.

Anhand dieser CSV-Datei als Beispiel werden die Daten basierend auf „support_multi_line“ unterschiedlich gelesen.

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
Erforderlich

Wie leere Felder behandelt werden sollen. Wenn True leere Felder als leere Zeichenfolgen liest, werden andere als NULL-Werte gelesen. Wenn True und spalte datetime- oder numerische Daten enthalten, werden leere Felder weiterhin als NULL-Werte gelesen.

encoding
Erforderlich

Gibt die Dateicodierung mithilfe der Enumeration MLTableFileEncodingan. Unterstützte Codierungen sind:

  • utf8 als "utf8", "utf-8", "utf-8 bom"
  • iso88591 als "iso88591" oder "iso-8859-1"
  • latin1 als "latin1" oder "latin-1"
  • utf16 als "utf16" oder "utf-16"
  • windows1252 als "windows1252" oder "windows-1252"
include_path_column
Erforderlich

Behalten Sie Pfadinformationen als Spalte in der MLTable bei, ist nützlich, wenn Sie mehrere Dateien lesen und wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder um nützliche Informationen beizubehalten, die möglicherweise in einem Dateipfad gespeichert werden.

infer_column_types
Erforderlich

Wenn True, leitet automatisch alle Spaltentypen ab. Wenn False, belässt Spalten als Zeichenfolgen. Wenn ein Wörterbuch, stellt Spalten dar, deren Typen auf bestimmte Typen festgelegt werden sollen (wobei alle anderen Spalten abgeleitet werden). Das Wörterbuch kann einen Schlüssel namens sample_size enthalten, der einer positiven ganzzahligen Zahl zugeordnet ist und die Anzahl der Zeilen darstellt, die zum Ableiten von Spaltentypen verwendet werden sollen. Das Wörterbuch kann auch einen Schlüssel namens "column_type_overrides" enthalten. Jeder Schlüssel im Wörterbuch ist entweder eine Zeichenfolge, die einen Spaltennamen oder ein Tupel von Zeichenfolgen darstellt, die eine Gruppe von Spaltennamen darstellen. Jeder Wert ist entweder eine Zeichenfolge (eine von "boolean", "string", "float" oder "int") oder ein DataType. mltable. DataType.to_stream() wird nicht unterstützt. Wenn ein leeres Wörterbuch angegeben wird, wird angenommen, dass es True ist. Der Standardwert ist „True“.

Ein Beispiel für das Formatieren 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()
       }
   })

Gibt zurück

Typ Beschreibung

MLTable

Hinweise

Es muss eine gültige Pfadzeichenfolge vorhanden sein.


   # 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

Erstellt ein MLTable-Objekt zum Lesen in Parquet-Dateien aus der Delta Lake-Tabelle.

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

Parameter

Name Beschreibung
delta_table_uri
Erforderlich
str

URI, der auf das Deltatabellenverzeichnis verweist, das die zu lesenden Delta Lake Parquet-Dateien enthält. Unterstützte URI-Typen sind: lokaler Pfad-URI, Speicher-URI, Langform-Datenspeicher-URI oder Datenasset-URI.

timestamp_as_of
Erforderlich

datetime-Zeichenfolge im RFC-3339/ISO-8601-Format, mit dem übereinstimmende Parquetdateien ab einem bestimmten Zeitpunkt gelesen werden können. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
Erforderlich
int

ganzzahlige Version, die zum Lesen in einer bestimmten Version von Parquet-Dateien verwendet werden soll.

include_path_column
Erforderlich

Behalten Sie Pfadinformationen als Spalte bei, die nützlich sind, wenn Sie mehrere Dateien lesen und wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder um nützliche Informationen beizubehalten, die möglicherweise in einem Dateipfad gespeichert werden.

Gibt zurück

Typ Beschreibung

MLTable-instance

Hinweise

from_delta_lake erstellt ein MLTable-Objekt, das die Vorgänge zum Laden von Daten aus dem Delta Lake-Ordner in eine tabellarische Darstellung definiert.

Damit Azure Machine Learning auf die Daten zugreifen kann, muss der Pfad auf das Deltatabellenverzeichnis verweisen, und die Delta Lake-Dateien, auf die verwiesen wird, müssen von AzureML-Diensten oder hinter öffentlichen Web-URLs zugänglich sein.

from_delta_lake unterstützt das Lesen von Delta Lake-Daten aus einem URI, der auf lokalen Pfad, Blob, ADLS Gen1 und ADLS Gen2 verweist.

Benutzer können die Daten einlesen und materialisieren, indem sie to_pandas_dataframe() für die zurückgegebene MLTable aufrufen.


   # 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

Erstellen Sie eine MLTable aus der angegebenen Liste der JSON-Dateipfade.

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

Parameter

Name Beschreibung
paths
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfehlen Sie stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

invalid_lines
Erforderlich
str

Wie Sie Zeilen behandeln, die ungültige JSON-Dateien sind, können "drop" oder "error" sein. Wenn ungültige Zeilen gelöscht werden, wird der Fehler "else" ausgelöst.

encoding
Erforderlich

Gibt die Dateicodierung mithilfe der Enumeration MLTableFileEncodingan. Unterstützte Dateicodierungen:

  • utf8 als "utf8", "utf-8", "utf-8 bom"
  • iso88591 als "iso88591" oder "iso-8859-1"
  • latin1 als "latin1" oder "latin-1"
  • utf16 als "utf16" oder "utf-16"
  • windows1252 als "windows1252" oder "windows-1252"
include_path_column
Erforderlich

Behalten Sie Pfadinformationen als Spalte bei, die nützlich sind, wenn Sie mehrere Dateien lesen und wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder um nützliche Informationen beizubehalten, die möglicherweise in einem Dateipfad gespeichert werden.

Gibt zurück

Typ Beschreibung

MLTable

Hinweise

Es muss ein gültiges Pfadwörterbuch vorhanden sein.


   # 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

Erstellen Sie die MLTable aus der angegebenen Liste der Parquet-Dateien.

from_parquet_files(paths, include_path_column=False)

Parameter

Name Beschreibung
paths
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfehlen Sie stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

include_path_column
Erforderlich

Behalten Sie Pfadinformationen als Spalte bei, die nützlich sind, wenn Sie mehrere Dateien lesen und wissen möchten, aus welcher Datei ein bestimmter Datensatz stammt, oder um nützliche Informationen beizubehalten, die möglicherweise in einem Dateipfad gespeichert werden.

Gibt zurück

Typ Beschreibung

MLTable-instance

Hinweise

Es muss ein gültiges Pfadwörterbuch vorhanden sein.


   # 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

Erstellen Sie die MLTable aus den angegebenen Pfaden.

from_paths(paths)

Parameter

Name Beschreibung
paths
Erforderlich

Pfade unterstützen Dateien oder Ordner mit lokalen oder Cloudpfaden. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zum aktuellen Arbeitsverzeichnis sind. Wenn das übergeordnete Verzeichnis, zu dem ein lokaler Dateipfad relativ ist, nicht das aktuelle Arbeitsverzeichnis ist, empfehlen Sie stattdessen, diesen Pfad als absoluten Dateipfad zu übergeben.

Gibt zurück

Typ Beschreibung

MLTable-instance

Hinweise

Es muss ein gültiges Pfadwörterbuch vorhanden sein.


   # 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

Lädt die MLTable-Datei (YAML), die am angegebenen URI vorhanden ist.

storage_options unterstützt Schlüssel für "Abonnement", "resource_group", "Arbeitsbereich" oder "Standort". Alle müssen einen Azure Machine Learning-Arbeitsbereich finden.

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

Parameter

Name Beschreibung
uri
Erforderlich
str

uri unterstützt Langform-Datenspeicher-URI, Speicher-URI, lokaler Pfad oder Datenasset-URI oder Data Asset Short-URI

storage_options
Erforderlich

AML-Arbeitsbereichsinformationen, wenn der URI eine AML-Ressource ist

ml_client
Erforderlich

Gibt zurück

Typ Beschreibung

MLTable

Hinweise

Am angegebenen URI muss eine gültige MLTable-YAML-Datei namens "MLTable" vorhanden sein.


   # 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)