Delen via


mltable Pakket

Bevat functionaliteit voor interactie met bestaande en het maken van nieuwe MLTable-bestanden.

Met het mltable-pakket kunt u gegevens laden, transformeren en analyseren in elke Python-omgeving, inclusief Jupyter Notebooks of uw favoriete Python IDE.

Pakketten

tests

Bevat functionaliteit voor interactie met bestaande en het maken van nieuwe MLTable-bestanden.

Met het mltable-pakket kunt u gegevens laden, transformeren en analyseren in elke Python-omgeving, inclusief Jupyter Notebooks of uw favoriete Python IDE.

Modules

mltable

Bevat functionaliteit om MLTable-objecten te maken en ermee te werken

Klassen

DataType

Helperklasse voor het verwerken van de juiste manipulatie van ondersteunde kolomtypen (int, bool, tekenreeks, enzovoort). Wordt momenteel gebruikt met MLTable.convert_column_types(...) & from_delimited_files(...) om op te geven naar welke typen kolommen moeten worden geconverteerd. Er worden verschillende typen geselecteerd met DataType.from_ (...) *Methoden.

MLTable

Vertegenwoordigt een MLTable.

Een MLTable definieert een reeks vertraagd geëvalueerde, onveranderbare bewerkingen voor het laden van gegevens uit de gegevensbron. Gegevens worden pas uit de bron geladen als MLTable wordt gevraagd om gegevens te leveren.

Initialiseer een nieuwe MLTable.

Deze constructor mag niet rechtstreeks worden aangeroepen. MLTable is bedoeld om te worden gemaakt met behulp van load.

Enums

MLTableFileEncoding

Definieert opties voor hoe codering wordt verwerkt bij het lezen van gegevens uit bestanden om een MLTable te maken.

Deze opsommingswaarden worden gebruikt in de klasse MLTable.

MLTableHeaders

Definieert opties voor hoe kolomkoppen worden verwerkt bij het lezen van gegevens uit bestanden om een MLTable te maken.

Deze opsommingswaarden worden gebruikt in de klasse MLTable.

Functies

from_delimited_files

Hiermee maakt u een MLTable op basis van de opgegeven lijst met bestanden met scheidingstekens.

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)

Parameters

Name Description
paths
Vereist

Paden ondersteunen bestanden of mappen met lokale of cloudpaden. Relatieve lokale bestandspaden worden verondersteld relatief te zijn ten opzichte van de huidige werkmap. Als de bovenliggende map waarmee een lokaal bestandspad relatief is, niet de huidige werkmap is, raden u in plaats daarvan aan dat pad door te geven als een absoluut bestandspad.

header
Vereist

Hoe kolomkoppen worden verwerkt bij het lezen van bestanden. Opties die zijn opgegeven met behulp van de enum MLTableHeaders. Ondersteunde headers zijn 'no_header', 'from_first_file', 'all_files_different_headers' en 'all_files_same_headers'.

delimiter
Vereist
str

scheidingsteken voor het splitsen van kolommen

support_multi_line
Vereist

Als onwaar is, worden alle regeleinden, inclusief de regeleinden in veldwaarden met aanhalingstekens, geïnterpreteerd als een recordeinde. Het op deze manier lezen van gegevens is sneller en beter geoptimaliseerd voor parallelle uitvoering op meerdere CPU-kernen. Dit kan er echter toe leiden dat er op de achtergrond meer records met onjuist uitgelijnde veldwaarden worden geproduceerd. Dit moet worden ingesteld op Waar wanneer bekend is dat de bestanden met scheidingstekens regeleinden bevatten.

Gezien dit CSV-bestand als voorbeeld worden de gegevens anders gelezen op basis van 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
Vereist

Hoe lege velden moeten worden verwerkt. Als waar worden lege velden als lege tekenreeksen gelezen, anders als null-waarden. Als Waar en kolom datum/tijd of numerieke gegevens bevat, worden lege velden nog steeds gelezen als null-waarden.

encoding
Vereist

Hiermee geeft u de bestandscodering met behulp van de enum MLTableFileEncoding. Ondersteunde coderingen zijn:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 als "iso88591" of "iso-8859-1"
  • latin1 als 'latin1' of 'latin-1'
  • utf16 als "utf16" of "utf-16"
  • windows1252 als "windows1252" of "windows-1252"
include_path_column
Vereist

Bewaar padgegevens als een kolom in de MLTable, is handig bij het lezen van meerdere bestanden en u wilt weten van welk bestand een bepaalde record afkomstig is of nuttige informatie wilt bewaren die mogelijk is opgeslagen in een bestandspad.

infer_column_types
Vereist

Indien Waar, worden automatisch alle kolomtypen afgeleid. Als onwaar is, laat u de kolommen als tekenreeksen over. Als een woordenlijst, vertegenwoordigt u kolommen waarvan de typen moeten worden ingesteld op opgegeven typen (waarbij alle andere kolommen worden afgeleid). De woordenlijst kan een sleutel bevatten met de naam sample_size toegewezen aan een positief geheel getal, dat het aantal rijen vertegenwoordigt dat moet worden gebruikt voor het afleiden van kolomtypen. De woordenlijst kan ook een sleutel met de naam 'column_type_overrides' bevatten. Elke sleutel in de woordenlijst is een tekenreeks die een kolomnaam vertegenwoordigt of een tuple van tekenreeksen die een groep kolomnamen vertegenwoordigen. Elke waarde is een tekenreeks (een van 'booleaanse', 'tekenreeks', 'float' of 'int') of een DataType. mltable. DataType.to_stream() wordt niet ondersteund. Als er een lege woordenlijst wordt opgegeven, wordt ervan uitgegaan dat deze Waar is. De standaardwaarde is True.

Een voorbeeld van het opmaken van 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()
       }
   })

Retouren

Type Description

MLTable

Opmerkingen

Er moet een geldige padentekenreeks zijn.


   # 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

Hiermee maakt u een MLTable-object voor het lezen van Parquet-bestanden uit de Delta Lake-tabel.

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

Parameters

Name Description
delta_table_uri
Vereist
str

URI die verwijst naar de map deltatabel met de Delta Lake Parquet-bestanden die moeten worden gelezen. Ondersteunde URI-typen zijn: lokale pad-URI, opslag-URI, gegevensarchief-URI met lange vorm of gegevensasset-URI.

timestamp_as_of
Vereist

datum/tijd-tekenreeks in RFC-3339/ISO-8601-indeling voor het lezen van overeenkomende Parquet-bestanden vanaf een bepaald tijdstip. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
Vereist
int

gehele versie die moet worden gebruikt om te lezen in een specifieke versie van Parquet-bestanden.

include_path_column
Vereist

Bewaar padgegevens als een kolom, handig bij het lezen van meerdere bestanden en u wilt weten van welk bestand een bepaalde record afkomstig is, of om nuttige informatie te bewaren die mogelijk is opgeslagen in een bestandspad.

Retouren

Type Description

MLTable-exemplaar

Opmerkingen

from_delta_lake maakt een MLTable-object dat de bewerkingen definieert voor het laden van gegevens uit de delta lake-map in tabelvorm.

De gegevens zijn alleen toegankelijk voor Azure Machine Learning als het pad verwijst naar de map deltatabel en de Delta Lake-bestanden waarnaar wordt verwezen, moeten toegankelijk zijn voor AzureML-services of achter openbare web-URL's.

from_delta_lake ondersteunt het lezen van Delta Lake-gegevens van een URI die verwijst naar: lokaal pad, Blob, ADLS Gen1 en ADLS Gen2

Gebruikers kunnen de gegevens lezen en materialiseren door to_pandas_dataframe() aan te roepen op de geretourneerde MLTable


   # 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

Maak een MLTable op basis van de opgegeven lijst met JSON-bestandspaden.

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

Parameters

Name Description
paths
Vereist

Paden ondersteunen bestanden of mappen met lokale of cloudpaden. Relatieve lokale bestandspaden worden verondersteld relatief te zijn ten opzichte van de huidige werkmap. Als de bovenliggende map waarmee een lokaal bestandspad relatief is, niet de huidige werkmap is, raden u in plaats daarvan aan dat pad door te geven als een absoluut bestandspad.

invalid_lines
Vereist
str

Regels verwerken die ongeldig zijn voor JSON, kunnen 'drop' of 'error' zijn. Als ongeldige regels worden verwijderd, wordt er anders een fout gegenereerd.

encoding
Vereist

Hiermee geeft u de bestandscodering met behulp van de enum MLTableFileEncoding. Ondersteunde bestandscoderingen:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 als "iso88591" of "iso-8859-1"
  • latin1 als 'latin1' of 'latin-1'
  • utf16 als "utf16" of "utf-16"
  • windows1252 als "windows1252" of "windows-1252"
include_path_column
Vereist

Bewaar padgegevens als een kolom, handig bij het lezen van meerdere bestanden en u wilt weten van welk bestand een bepaalde record afkomstig is, of om nuttige informatie te bewaren die mogelijk is opgeslagen in een bestandspad.

Retouren

Type Description

MLTable

Opmerkingen

Er moet een geldige padenwoordenlijst zijn


   # 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

Maak de MLTable op basis van de opgegeven lijst met parquet-bestanden.

from_parquet_files(paths, include_path_column=False)

Parameters

Name Description
paths
Vereist

Paden ondersteunen bestanden of mappen met lokale of cloudpaden. Relatieve lokale bestandspaden worden verondersteld relatief te zijn ten opzichte van de huidige werkmap. Als de bovenliggende map waarmee een lokaal bestandspad relatief is, niet de huidige werkmap is, raden u in plaats daarvan aan dat pad door te geven als een absoluut bestandspad.

include_path_column
Vereist

Bewaar padgegevens als een kolom, handig bij het lezen van meerdere bestanden en u wilt weten van welk bestand een bepaalde record afkomstig is, of om nuttige informatie te bewaren die mogelijk is opgeslagen in een bestandspad.

Retouren

Type Description

MLTable-exemplaar

Opmerkingen

Er moet een geldige padenwoordenlijst zijn


   # 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

Maak de MLTable op basis van de opgegeven paden.

from_paths(paths)

Parameters

Name Description
paths
Vereist

Paden ondersteunen bestanden of mappen met lokale of cloudpaden. Relatieve lokale bestandspaden worden verondersteld relatief te zijn ten opzichte van de huidige werkmap. Als de bovenliggende map waarmee een lokaal bestandspad relatief is, niet de huidige werkmap is, raden u in plaats daarvan aan dat pad door te geven als een absoluut bestandspad.

Retouren

Type Description

MLTable-exemplaar

Opmerkingen

Er moet een geldige padenwoordenlijst zijn


   # 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

Laadt het MLTable-bestand (YAML) dat aanwezig is op de opgegeven URI.

storage_options ondersteunt sleutels van 'abonnement', 'resource_group', 'werkruimte' of 'locatie'. Alle moeten een Azure Machine Learning-werkruimte vinden.

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

Parameters

Name Description
uri
Vereist
str

URI ondersteunt gegevensarchief-URI in lange vorm, opslag-URI, lokaal pad of gegevensasset-URI of korte URI van gegevensasset

storage_options
Vereist

AML-werkruimtegegevens wanneer URI een AML-asset is

ml_client
Vereist

Retouren

Type Description

MLTable

Opmerkingen

Er moet een geldig MLTable YAML-bestand met de naam 'MLTable' aanwezig zijn op de opgegeven URI.


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