Sdílet prostřednictvím


mltable Balíček

Obsahuje funkce pro interakci s existujícími a vytváření nových souborů MLTable.

Pomocí mltable balíčku můžete načítat, transformovat a analyzovat data v libovolném prostředí Pythonu, včetně Jupyter Notebooks nebo vašeho oblíbeného prostředí IDE Pythonu.

Balíčky

tests

Obsahuje funkce pro interakci s existujícími a vytváření nových souborů MLTable.

Pomocí mltable balíčku můžete načítat, transformovat a analyzovat data v libovolném prostředí Pythonu, včetně Jupyter Notebooks nebo vašeho oblíbeného prostředí IDE Pythonu.

Moduly

mltable

Obsahuje funkce pro vytváření objektů MLTable a interakci s nimi.

Třídy

DataType

Pomocná třída pro zpracování správné manipulace s podporovanými typy sloupců (int, bool, string atd.). Aktuálně se používá s MLTable.convert_column_types(...) & from_delimited_files(...) k určení typů, na které se mají sloupce převést. S DataType.from_(...) jsou vybrány různé typy. *Metody.

MLTable

Představuje tabulku MLTable.

MlTable definuje řadu líně vyhodnocených a neměnných operací pro načtení dat ze zdroje dat. Data se nenačtou ze zdroje, dokud není mlTable požádána o doručení dat.

Inicializuje novou tabulku MLTable.

Tento konstruktor by neměl být vyvolán přímo. MlTable je určena k vytvoření pomocí .load

Výčty

MLTableFileEncoding

Definuje možnosti zpracování kódování při čtení dat ze souborů za účelem vytvoření tabulky MLTable.

Tyto hodnoty výčtu se používají ve třídě MLTable.

MLTableHeaders

Definuje možnosti zpracování záhlaví sloupců při čtení dat ze souborů za účelem vytvoření tabulky MLTable.

Tyto hodnoty výčtu se používají ve třídě MLTable.

Funkce

from_delimited_files

Vytvoří tabulku MLTable z daného seznamu souborů s oddělovači.

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

Name Description
paths
Vyžadováno

Cesty podporují soubory nebo složky s místními nebo cloudovými cestami. Relativní místní cesty k souborům jsou považovány za relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud nadřazený adresář, ke kterému je místní cesta k souboru relativní, není aktuálním pracovním adresářem, doporučujeme místo toho předat danou cestu jako absolutní cestu k souboru.

header
Vyžadováno

Způsob zpracování záhlaví sloupců při čtení ze souborů Možnosti zadané pomocí výčtu MLTableHeaders. Podporované hlavičky jsou "no_header", "from_first_file", "all_files_different_headers" a "all_files_same_headers".

delimiter
Vyžadováno
str

oddělovač používaný k rozdělení sloupců

support_multi_line
Vyžadováno

Pokud je false, budou všechny konce řádků, včetně konců v hodnotách polí v uvozových polích, interpretovány jako zalomení záznamu. Čtení dat tímto způsobem je rychlejší a optimalizovanější pro paralelní spouštění na několika jádrech procesoru. Může to však vést k tichému generování více záznamů s hodnotami nesprávně zarovnaných polí. Tato hodnota by měla být nastavena na Hodnotu True, pokud je známo, že soubory s oddělovači obsahují konce řádků v uvozových polích.

Jako příklad tohoto souboru CSV se budou data číst odlišně podle 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
Vyžadováno

Způsob zpracování prázdných polí Pokud bude hodnota True číst prázdná pole jako prázdné řetězce, v opačném případě se bude číst jako null. Pokud hodnota True a column obsahují data a čas nebo číselná data, prázdná pole se stále čtou jako null.

encoding
Vyžadováno

Určuje kódování souboru pomocí výčtu MLTableFileEncoding. Podporovaná kódování jsou:

  • utf8 jako "utf8", "utf-8", "utf-8 bom"
  • iso88591 jako "iso88591" nebo "iso-8859-1"
  • latin1 jako "latin1" nebo "latin-1"
  • utf16 jako "utf16" nebo "utf-16"
  • windows1252 jako "windows1252" nebo "windows-1252"
include_path_column
Vyžadováno

Zachovat informace o cestě jako sloupec v tabulce MLTable je užitečné při čtení více souborů a chcete vědět, ze kterého souboru konkrétní záznam pochází, nebo chcete zachovat užitečné informace, které mohou být uloženy v cestě k souboru.

infer_column_types
Vyžadováno

Pokud je pravda, automaticky odvodí všechny typy sloupců. Pokud je false, ponechá sloupce jako řetězce. Pokud slovník, představuje sloupce, jejichž typy mají být nastaveny na dané typy (se všemi ostatními sloupci se odvozují). Slovník může obsahovat klíč s názvem sample_size namapovaný na kladné celé číslo, který představuje počet řádků, které se mají použít pro odvození typů sloupců. Slovník může také obsahovat klíč s názvem "column_type_overrides". Každý klíč ve slovníku je buď řetězec představující název sloupce, nebo řazená kolekce řetězců představující skupinu názvů sloupců. Každá hodnota je buď řetězec (jedna z logických hodnot, string, float nebo int), nebo DataType. mltable. DataType.to_stream() se nepodporuje. Pokud je zadán prázdný slovník, předpokládá se, že má hodnotu True. Výchozí hodnota je Pravda.

Příklad formátování 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()
       }
   })

Návraty

Typ Description

MlTable

Poznámky

Musí existovat platný řetězec cest.


   # 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

Vytvoří objekt MLTable pro čtení v souborech Parquet z tabulky delta lake.

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

Parametry

Name Description
delta_table_uri
Vyžadováno
str

Identifikátor URI odkazující na adresář tabulky delta obsahující soubory parquet delta lake, které se mají číst. Podporované typy identifikátorů URI jsou: identifikátor URI místní cesty, identifikátor URI úložiště, identifikátor URI úložiště dat s dlouhým formulářem nebo identifikátor URI datového assetu.

timestamp_as_of
Vyžadováno

řetězec datetime ve formátu RFC-3339/ISO-8601, který se použije ke čtení v odpovídajících souborech parquet od určitého bodu v čase. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
Vyžadováno
int

celočíselná verze, která se použije ke čtení v konkrétní verzi souborů parquet.

include_path_column
Vyžadováno

Uchovávejte informace o cestě jako sloupec, který je užitečný při čtení více souborů a chcete vědět, ze kterého souboru konkrétní záznam pochází, nebo chcete zachovat užitečné informace, které mohou být uložené v cestě k souboru.

Návraty

Typ Description

Instance MLTable

Poznámky

from_delta_lake vytvoří objekt MLTable, který definuje operace načítání dat ze složky delta lake do tabulkové reprezentace.

Aby byla data přístupná službou Azure Machine Learning, musí cesta odkazovat na adresář tabulky delta a soubory delta lake, na které odkazují, musí být přístupné službě AzureML nebo za veřejnými webovými adresami URL.

from_delta_lake podporuje čtení dat delta lake z identifikátoru URI odkazujícího na: místní cesta, objekt blob, ADLS Gen1 a ADLS Gen2

Uživatelé můžou číst a materializovat data voláním to_pandas_dataframe() na vrácené tabulce 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

Vytvořte tabulku MLTable z daného seznamu cest k souborům JSON.

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

Parametry

Name Description
paths
Vyžadováno

Cesty podporují soubory nebo složky s místními nebo cloudovými cestami. Relativní místní cesty k souborům jsou považovány za relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud nadřazený adresář, ke kterému je místní cesta k souboru relativní, není aktuálním pracovním adresářem, doporučujeme místo toho předat danou cestu jako absolutní cestu k souboru.

invalid_lines
Vyžadováno
str

Způsob zpracování řádků, které jsou neplatným kódem JSON, může být "drop" nebo "error". Pokud se zahodí neplatné řádky, dojde k chybě jinak.

encoding
Vyžadováno

Určuje kódování souboru pomocí výčtu MLTableFileEncoding. Podporované kódování souborů:

  • utf8 jako "utf8", "utf-8", "utf-8 bom"
  • iso88591 jako "iso88591" nebo "iso-8859-1"
  • latin1 jako "latin1" nebo "latin-1"
  • utf16 jako "utf16" nebo "utf-16"
  • windows1252 jako "windows1252" nebo "windows-1252"
include_path_column
Vyžadováno

Uchovávejte informace o cestě jako sloupec, který je užitečný při čtení více souborů a chcete vědět, ze kterého souboru konkrétní záznam pochází, nebo chcete zachovat užitečné informace, které mohou být uložené v cestě k souboru.

Návraty

Typ Description

MlTable

Poznámky

Musí existovat platný slovník cest.


   # 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

Vytvořte tabulku MLTable z daného seznamu souborů parquet.

from_parquet_files(paths, include_path_column=False)

Parametry

Name Description
paths
Vyžadováno

Cesty podporují soubory nebo složky s místními nebo cloudovými cestami. Relativní místní cesty k souborům jsou považovány za relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud nadřazený adresář, ke kterému je místní cesta k souboru relativní, není aktuálním pracovním adresářem, doporučujeme místo toho předat danou cestu jako absolutní cestu k souboru.

include_path_column
Vyžadováno

Uchovávejte informace o cestě jako sloupec, který je užitečný při čtení více souborů a chcete vědět, ze kterého souboru konkrétní záznam pochází, nebo chcete zachovat užitečné informace, které mohou být uložené v cestě k souboru.

Návraty

Typ Description

Instance MLTable

Poznámky

Musí existovat platný slovník cest.


   # 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

Vytvořte mlTable z daných cest.

from_paths(paths)

Parametry

Name Description
paths
Vyžadováno

Cesty podporují soubory nebo složky s místními nebo cloudovými cestami. Relativní místní cesty k souborům jsou považovány za relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud nadřazený adresář, ke kterému je místní cesta k souboru relativní, není aktuálním pracovním adresářem, doporučujeme místo toho předat danou cestu jako absolutní cestu k souboru.

Návraty

Typ Description

Instance MLTable

Poznámky

Musí existovat platný slovník cest.


   # 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

Načte soubor MLTable (YAML) v daném identifikátoru URI.

storage_options podporuje klíče předplatného, resource_group, pracovního prostoru nebo umístění. Všichni musí najít pracovní prostor Služby Azure Machine Learning.

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

Parametry

Name Description
uri
Vyžadováno
str

URI podporuje dlouhý identifikátor URI úložiště dat, identifikátor URI úložiště, místní cestu nebo identifikátor URI datového assetu nebo krátký identifikátor URI datového assetu.

storage_options
Vyžadováno

Informace o pracovním prostoru AML, pokud je URI assetem AML

ml_client
Vyžadováno

Návraty

Typ Description

MlTable

Poznámky

V daném identifikátoru URI musí být k dispozici platný soubor MLTable YAML s názvem MLTable.


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