Udostępnij za pośrednictwem


mltable Pakiet

Zawiera funkcje interakcji z istniejącymi i tworzenia nowych plików MLTable.

Pakiet mltable umożliwia ładowanie, przekształcanie i analizowanie danych w dowolnym środowisku języka Python, w tym notesów Jupyter Lub ulubionego środowiska IDE języka Python.

Pakiety

tests

Zawiera funkcje interakcji z istniejącymi i tworzenia nowych plików MLTable.

Pakiet mltable umożliwia ładowanie, przekształcanie i analizowanie danych w dowolnym środowisku języka Python, w tym notesów Jupyter Lub ulubionego środowiska IDE języka Python.

Moduły

mltable

Zawiera funkcje do tworzenia obiektów MLTable i interakcji z nimi

Klasy

DataType

Klasa pomocnika do obsługi prawidłowego manipulowania obsługiwanymi typami kolumn (int, bool, string itp.). Obecnie używane z MLTable.convert_column_types(...) & from_delimited_files(...) do określania typów, na które mają być konwertowane kolumny. Różne typy są wybierane z DataType.from_(...) *Metody.

MLTable

Reprezentuje tabelę MLTable.

Tabela MLTable definiuje serię niezmienialnych operacji obliczanych w celu załadowania danych ze źródła danych. Dane nie są ładowane ze źródła, dopóki tabela MLTable nie zostanie poproszona o dostarczenie danych.

Zainicjuj nową tabelę MLTable.

Ten konstruktor nie powinien być wywoływany bezpośrednio. Tabela MLTable ma zostać utworzona przy użyciu polecenia load.

Wyliczenia

MLTableFileEncoding

Definiuje opcje przetwarzania kodowania podczas odczytywania danych z plików w celu utworzenia tabeli MLTable.

Te wartości wyliczenia są używane w klasie MLTable.

MLTableHeaders

Definiuje opcje przetwarzania nagłówków kolumn podczas odczytywania danych z plików w celu utworzenia tabeli MLTable.

Te wartości wyliczenia są używane w klasie MLTable.

Funkcje

from_delimited_files

Tworzy tabelę MLTable na podstawie danej listy rozdzielonych plików.

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)

Parametry

Nazwa Opis
paths
Wymagane

Ścieżki obsługują pliki lub foldery ze ścieżkami lokalnymi lub w chmurze. Zakłada się, że względne lokalne ścieżki plików są względne względem bieżącego katalogu roboczego. Jeśli katalog nadrzędny ścieżka pliku lokalnego jest względna nie jest bieżącym katalogiem roboczym, zaleca się przekazanie tej ścieżki jako ścieżki bezwzględnej pliku.

header
Wymagane

Sposób obsługi nagłówków kolumn podczas odczytywania z plików. Opcje określone przy użyciu wyliczenia MLTableHeaders. Obsługiwane nagłówki to "no_header", "from_first_file", "all_files_different_headers" i "all_files_same_headers".

delimiter
Wymagane
str

separator używany do dzielenia kolumn

support_multi_line
Wymagane

Jeśli wartość False, wszystkie podziały wierszy, w tym te w wartościach pól cytowanych, zostaną zinterpretowane jako podział rekordu. Odczytywanie danych w ten sposób jest szybsze i bardziej zoptymalizowane pod kątem równoległego wykonywania na wielu rdzeniach procesora CPU. Jednak może to spowodować dyskretne generowanie większej liczby rekordów z nieprawidłowo wyrównanymi wartościami pól. Należy ustawić wartość True, gdy rozdzielane pliki są znane jako zawierające cudzysłów wierszy.

Biorąc pod uwagę ten plik CSV jako przykład, dane będą odczytywane inaczej na podstawie support_multi_line.

A,B,C1,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
Wymagane

Sposób obsługi pustych pól. Jeśli wartość True odczytuje puste pola jako puste ciągi, inne odczytuje jako wartości null. Jeśli wartość True i kolumna zawiera dane daty/godziny lub liczbowe, puste pola nadal są odczytywane jako wartości null.

encoding
Wymagane

Określa kodowanie pliku przy użyciu wyliczenia MLTableFileEncoding. Obsługiwane kodowanie to:

  • utf8 jako "utf8", "utf-8", "utf-8 bom"
  • iso88591 jako "iso88591" lub "iso-8859-1"
  • latin1 jako "latin1" lub "latin-1"
  • utf16 jako "utf16" lub "utf-16"
  • windows1252 jako "windows1252" lub "windows-1252"
include_path_column
Wymagane

Zachowaj informacje o ścieżce jako kolumnę w tabeli MLTable, jest przydatne podczas odczytywania wielu plików i chcesz wiedzieć, z którego pliku pochodzi określony rekord, lub zachować przydatne informacje, które mogą być przechowywane w ścieżce pliku.

infer_column_types
Wymagane

Jeśli wartość True, automatycznie wywnioskuje wszystkie typy kolumn. Jeśli wartość False, pozostawia kolumny jako ciągi. Jeśli słownik reprezentuje kolumny, których typy mają być ustawione na podane typy (ze wszystkimi innymi kolumnami wywnioskowanych). Słownik może zawierać klucz o nazwie sample_size zamapowany na dodatnią liczbę całkowitą reprezentującą liczbę wierszy do użycia na potrzeby wnioskowania typów kolumn. Słownik może również zawierać klucz o nazwie "column_type_overrides". Każdy klucz w słowniku jest ciągiem reprezentującym nazwę kolumny lub krotką ciągów reprezentujących grupę nazw kolumn. Każda wartość jest ciągiem (jednym z wartości logicznych, "string", "float" lub "int") albo DataType. mltable. DataType.to_stream() nie jest obsługiwana. Jeśli podano pusty słownik, przyjmuje się, że ma wartość True. Wartość domyślna to True.

Przykład formatowania 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()
       }
   })

Zwraca

Typ Opis

Tabela MLTable

Uwagi

Musi istnieć prawidłowy ciąg ścieżek.


   # 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

Tworzy obiekt MLTable do odczytu w plikach Parquet z tabeli usługi Delta Lake.

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

Parametry

Nazwa Opis
delta_table_uri
Wymagane
str

Identyfikator URI wskazujący katalog tabeli delty zawierający pliki delta lake parquet do odczytu. Obsługiwane typy identyfikatorów URI to: identyfikator URI ścieżki lokalnej, identyfikator URI magazynu magazynu, identyfikator URI magazynu danych o długiej formie lub identyfikator URI zasobu danych.

timestamp_as_of
Wymagane

ciąg daty/godziny w formacie RFC-3339/ISO-8601 do odczytu w pasujących plikach parquet z określonego punktu w czasie. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
Wymagane
int

wersja całkowita, która ma być używana do odczytu w określonej wersji plików parquet.

include_path_column
Wymagane

Zachowaj informacje o ścieżce jako kolumnę, przydatne podczas odczytywania wielu plików i chcesz wiedzieć, z którego pliku pochodzi określony rekord, lub zachować przydatne informacje, które mogą być przechowywane w ścieżce pliku.

Zwraca

Typ Opis

Wystąpienie tabeli MLTable

Uwagi

from_delta_lake tworzy obiekt MLTable, który definiuje operacje ładowania danych z folderu delta lake do reprezentacji tabelarycznej.

Aby dane były dostępne w usłudze Azure Machine Learning, ścieżka musi wskazywać katalog tabeli delty i pliki usługi Delta Lake, do których się odwołujesz, muszą być dostępne dla usług AzureML lub za publicznymi internetowymi adresami URL.

from_delta_lake obsługuje odczytywanie danych usługi Delta Lake z identyfikatora URI wskazującego na: ścieżkę lokalną, obiekt blob, usługę ADLS Gen1 i usługę ADLS Gen2

Użytkownicy mogą odczytywać i materializować dane, wywołując funkcję to_pandas_dataframe() przy zwróconej tabeli 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

Utwórz tabelę MLTable na podstawie podanej listy ścieżek plików JSON.

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

Parametry

Nazwa Opis
paths
Wymagane

Ścieżki obsługują pliki lub foldery ze ścieżkami lokalnymi lub w chmurze. Zakłada się, że względne lokalne ścieżki plików są względne względem bieżącego katalogu roboczego. Jeśli katalog nadrzędny ścieżka pliku lokalnego jest względna nie jest bieżącym katalogiem roboczym, zaleca się przekazanie tej ścieżki jako ścieżki bezwzględnej pliku.

invalid_lines
Wymagane
str

Jak obsługiwać wiersze, które są nieprawidłowe w formacie JSON, mogą być "drop" lub "error". Jeśli "upuść" nieprawidłowe wiersze są porzucane, zostanie zgłoszony błąd else.

encoding
Wymagane

Określa kodowanie pliku przy użyciu wyliczenia MLTableFileEncoding. Obsługiwane kodowanie plików:

  • utf8 jako "utf8", "utf-8", "utf-8 bom"
  • iso88591 jako "iso88591" lub "iso-8859-1"
  • latin1 jako "latin1" lub "latin-1"
  • utf16 jako "utf16" lub "utf-16"
  • windows1252 jako "windows1252" lub "windows-1252"
include_path_column
Wymagane

Zachowaj informacje o ścieżce jako kolumnę, przydatne podczas odczytywania wielu plików i chcesz wiedzieć, z którego pliku pochodzi określony rekord, lub zachować przydatne informacje, które mogą być przechowywane w ścieżce pliku.

Zwraca

Typ Opis

Tabela MLTable

Uwagi

Musi istnieć prawidłowy słownik ścieżek


   # 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

Utwórz tabelę MLTable na podstawie danej listy plików parquet.

from_parquet_files(paths, include_path_column=False)

Parametry

Nazwa Opis
paths
Wymagane

Ścieżki obsługują pliki lub foldery ze ścieżkami lokalnymi lub w chmurze. Zakłada się, że względne lokalne ścieżki plików są względne względem bieżącego katalogu roboczego. Jeśli katalog nadrzędny ścieżka pliku lokalnego jest względna nie jest bieżącym katalogiem roboczym, zaleca się przekazanie tej ścieżki jako ścieżki bezwzględnej pliku.

include_path_column
Wymagane

Zachowaj informacje o ścieżce jako kolumnę, przydatne podczas odczytywania wielu plików i chcesz wiedzieć, z którego pliku pochodzi określony rekord, lub zachować przydatne informacje, które mogą być przechowywane w ścieżce pliku.

Zwraca

Typ Opis

Wystąpienie tabeli MLTable

Uwagi

Musi istnieć prawidłowy słownik ścieżek


   # 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

Utwórz tabelę MLTable na podstawie podanych ścieżek.

from_paths(paths)

Parametry

Nazwa Opis
paths
Wymagane

Ścieżki obsługują pliki lub foldery ze ścieżkami lokalnymi lub w chmurze. Zakłada się, że względne lokalne ścieżki plików są względne względem bieżącego katalogu roboczego. Jeśli katalog nadrzędny ścieżka pliku lokalnego jest względna nie jest bieżącym katalogiem roboczym, zaleca się przekazanie tej ścieżki jako ścieżki bezwzględnej pliku.

Zwraca

Typ Opis

Wystąpienie tabeli MLTable

Uwagi

Musi istnieć prawidłowy słownik ścieżek


   # 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

Ładuje plik MLTable (YAML) obecny na danym identyfikatorze URI.

storage_options obsługuje klucze "subscription", "resource_group", "workspace" lub "location". Wszystkie muszą zlokalizować obszar roboczy usługi Azure Machine Learning.

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

Parametry

Nazwa Opis
uri
Wymagane
str

Identyfikator URI obsługuje identyfikator URI magazynu danych o długiej formie, identyfikator URI magazynu, ścieżkę lokalną lub identyfikator URI zasobu danych albo krótki identyfikator URI zasobu danych

storage_options
Wymagane

Informacje o obszarze roboczym AML, gdy identyfikator URI jest zasobem AML

ml_client
Wymagane

Wystąpienie klasy MLClient. Aby dowiedzieć się więcej, zobacz https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.mlclient?view=azure-python

Zwraca

Typ Opis

MLTable

Uwagi

Musi istnieć prawidłowy plik YAML w formie tabeli MLTable o nazwie "MLTable" znajdujący się na danym identyfikatorze 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)