Sdílet prostřednictvím


MLTable Třída

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

Dědičnost
builtins.object
MLTable

Konstruktor

MLTable()

Metody

convert_column_types

Přidá krok transformace pro převod zadaných sloupců na jejich odpovídající nové typy.


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
drop_columns

Přidá krok transformace, který dané sloupce z datové sady vyřadí. Pokud je zadán prázdný seznam, řazená kolekce členů nebo sada, nic se nespustí. Duplicitní sloupce způsobí chybu UserErrorException.

Pokus o vyřazení sloupce, který je MLTable.traits.timestamp_column nebo v MLTable.traits.index_columns vyvolá chybu UserErrorException.

extract_columns_from_partition_format

Přidá krok transformace pro použití informací o oddílech každé cesty a extrahuje je do sloupců na základě zadaného formátu oddílu.

Formátovací část {column_name} vytvoří sloupec řetězce a {column_name:yyyy/MM/dd/HH/mm/ss} vytvoří sloupec datetime, kde 'yyyy', 'MM', 'dd', 'HH', 'mm' a 'ss' se používají k extrakci roku, měsíce, dne, hodiny, minuty a sekundy pro typ datetime.

Formát by měl začínat od pozice prvního klíče oddílu až do konce cesty k souboru. Například v cestě /Accounts/2019/01/01/data.csv, kde je oddíl podle názvu a času oddělení, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' vytvoří sloupec řetězce Department s hodnotou Accounts a sloupec datetime PartitionDate s hodnotou 2019-01-01.

filter

Filtrujte data a ponechte pouze záznamy, které odpovídají zadanému výrazu.

get_partition_count

Vrátí počet datových oddílů, které jsou podkladem dat přidružených k této tabulce MLTable.

keep_columns

Přidá krok transformace, který zachová zadané sloupce a odstraní všechny ostatní z datové sady. Pokud je zadán prázdný seznam, řazená kolekce členů nebo sada, nic se nespustí. Duplicitní sloupce způsobí chybu UserErrorException.

Pokud sloupec v MLTable.traits.timestamp_column nebo sloupce v MLTable.traits.index_columns nejsou explicitně zachovány, userErrorException je raiesd.

random_split

Náhodně rozdělí tuto tabulku MLTable na dvě tabulky MLTable, přičemž jedna má přibližně procento % původních dat MLTable a druhá má zbytek (1–"procento"%).

save

Uložte tuto tabulku MLTable jako soubor MLTable YAML & jeho přiřazené cesty k dané cestě k danému adresáři.

Pokud cesta není zadána, výchozí hodnota je aktuální pracovní adresář. Pokud cesta neexistuje, vytvoří se. Pokud je cesta vzdálená, musí podkladové úložiště dat již existovat. Pokud je cesta místním adresářem & není absolutní, vytvoří se jako absolutní.

Pokud cesta odkazuje na soubor, UserErrorException je vyvolána. Pokud je cesta cesta k adresáři, která již obsahuje jeden nebo více uložených souborů (včetně souboru MLTable YAML) a přepsání je nastaveno na false nebo "fail", je vyvolána výjimka UserErrorException. Pokud je cesta vzdálená, všechny cesty k místním souborům, které nejsou zadané jako společně umístěné cesty (cesta k souboru vzhledem k adresáři, ze kterého byla načtena tabulka MLTable), způsobí chybu UserErrorException.

colocated řídí způsob ukládání přidružených cest k cestě. Pokud je true, soubory se zkopírují do cesty spolu se souborem MLTable YAML jako relativní cesty k souborům. Jinak se přidružené soubory nekopírují, vzdálené cesty zůstanou dané a místní cesty k souborům se v případě potřeby vytvoří relativní s přesměrováním cesty. Mějte na paměti, že false může vést k nekooktovaným souborům MLTable YAML, což se nedoporučuje. Navíc pokud je cesta vzdálená, dojde k chybě UserErrorException, protože přesměrování relativní cesty není podporováno pro vzdálené identifikátory URI.

Všimněte si, že pokud je mlTable vytvořena programově pomocí metod , jako je from_paths() nebo from_read_delimited_files() s místními relativními cestami, cesta k adresáři MLTable se předpokládá jako aktuální pracovní adresář.

Při ukládání nové tabulky MLTable & přidružených datových souborů do adresáře s existujícím souborem MLTable & přidružených datových souborů mějte na paměti, že před uložením nových souborů se v adresáři nevymaže existující soubory. Je možné, že po uložení nových souborů se existující datové soubory zachovají, zejména pokud stávající datové soubory nemají názvy odpovídající novým datovým souborům. Pokud nová tabulka MLTable pod svými cestami obsahuje návrh vzoru, může to neúmyslně změnit tabulku MLTable přidružením existujících datových souborů k nové tabulce MLTable.

Pokud cesty k souborům v této tabulce MLTable ukazují na existující soubor v cestě , ale mají jiný identifikátor URI, při přepsání dojde k selhání nebo přeskočení existujícího souboru se nepřepíše (tj. přeskočí).

select_partitions

Přidá krok transformace pro výběr oddílu.

show

Načte první počet řádků této tabulky MLTable jako datový rámec Pandas.

skip

Přidá krok transformace, který přeskočí první řádky s počtem v této tabulce MLTable.

take

Přidá krok transformace pro výběr prvního počtu řádků této tabulky MLTable.

take_random_sample

Přidá transformační krok pro náhodný výběr každého řádku této tabulky MLTable s pravděpodobností pravděpodobnosti . Pravděpodobnost musí být v rozsahu [0, 1]. Může volitelně nastavit náhodné počáteční hodnoty.

to_pandas_dataframe

Načtěte všechny záznamy z cest zadaných v souboru MLTable do datového rámce Pandas.

validate

Ověří, jestli je možné načíst data této tabulky MLTable, a vyžaduje, aby byly zdroje dat MLTable přístupné z aktuálního výpočetního prostředí.

convert_column_types

Přidá krok transformace pro převod zadaných sloupců na jejich odpovídající nové typy.


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
convert_column_types(column_types)

Parametry

Name Description
column_types
Vyžadováno

Slovník sloupce: typy, které si uživatel přeje převést

Návraty

Typ Description

MLTable s přidaným krokem transformace

drop_columns

Přidá krok transformace, který dané sloupce z datové sady vyřadí. Pokud je zadán prázdný seznam, řazená kolekce členů nebo sada, nic se nespustí. Duplicitní sloupce způsobí chybu UserErrorException.

Pokus o vyřazení sloupce, který je MLTable.traits.timestamp_column nebo v MLTable.traits.index_columns vyvolá chybu UserErrorException.

drop_columns(columns: str | List[str] | Tuple[str] | Set[str])

Parametry

Name Description
columns
Vyžadováno
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

sloupce, které se mají z této tabulky MLTable odstranit

Návraty

Typ Description

MLTable s přidaným krokem transformace

extract_columns_from_partition_format

Přidá krok transformace pro použití informací o oddílech každé cesty a extrahuje je do sloupců na základě zadaného formátu oddílu.

Formátovací část {column_name} vytvoří sloupec řetězce a {column_name:yyyy/MM/dd/HH/mm/ss} vytvoří sloupec datetime, kde 'yyyy', 'MM', 'dd', 'HH', 'mm' a 'ss' se používají k extrakci roku, měsíce, dne, hodiny, minuty a sekundy pro typ datetime.

Formát by měl začínat od pozice prvního klíče oddílu až do konce cesty k souboru. Například v cestě /Accounts/2019/01/01/data.csv, kde je oddíl podle názvu a času oddělení, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' vytvoří sloupec řetězce Department s hodnotou Accounts a sloupec datetime PartitionDate s hodnotou 2019-01-01.

extract_columns_from_partition_format(partition_format)

Parametry

Name Description
partition_format
Vyžadováno
str

Formát oddílu, který se má použít k extrahování dat do sloupců

Návraty

Typ Description

MLTable, jejíž formát oddílu je nastavený na daný formát

filter

Filtrujte data a ponechte pouze záznamy, které odpovídají zadanému výrazu.

filter(expression)

Parametry

Name Description
expression
Vyžadováno

Výraz, který se má vyhodnotit.

Návraty

Typ Description

MLTable po filtru

Poznámky

Výrazy se spouští indexováním tabulky mltable s názvem sloupce. Podporují různé funkce a operátory a dají se kombinovat pomocí logických operátorů. Výsledný výraz se bude líně vyhodnocovat pro každý záznam, když dojde k vyžádání dat, a ne tam, kde je definován.


   filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
   filtered_mltable = mltable.filter('col("FBI Code") == "11"')

get_partition_count

Vrátí počet datových oddílů, které jsou podkladem dat přidružených k této tabulce MLTable.

get_partition_count() -> int

Návraty

Typ Description
int

datové oddíly v této tabulce MLTable

keep_columns

Přidá krok transformace, který zachová zadané sloupce a odstraní všechny ostatní z datové sady. Pokud je zadán prázdný seznam, řazená kolekce členů nebo sada, nic se nespustí. Duplicitní sloupce způsobí chybu UserErrorException.

Pokud sloupec v MLTable.traits.timestamp_column nebo sloupce v MLTable.traits.index_columns nejsou explicitně zachovány, userErrorException je raiesd.

keep_columns(columns: str | List[str] | Tuple[str] | Set[str])

Parametry

Name Description
columns
Vyžadováno
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

sloupce v této tabulce MLTable, které se mají zachovat

Návraty

Typ Description

MLTable s přidaným krokem transformace

random_split

Náhodně rozdělí tuto tabulku MLTable na dvě tabulky MLTable, přičemž jedna má přibližně procento % původních dat MLTable a druhá má zbytek (1–"procento"%).

random_split(percent=0.5, seed=None)

Parametry

Name Description
percent
Vyžadováno

% tabulky MLTable, mezi které se má rozdělit

seed
Vyžadováno

volitelné náhodné počáteční

Návraty

Typ Description

dvě tabulky MLTable s daty této tabulky MLTable rozdělenými podle procenta

save

Uložte tuto tabulku MLTable jako soubor MLTable YAML & jeho přiřazené cesty k dané cestě k danému adresáři.

Pokud cesta není zadána, výchozí hodnota je aktuální pracovní adresář. Pokud cesta neexistuje, vytvoří se. Pokud je cesta vzdálená, musí podkladové úložiště dat již existovat. Pokud je cesta místním adresářem & není absolutní, vytvoří se jako absolutní.

Pokud cesta odkazuje na soubor, UserErrorException je vyvolána. Pokud je cesta cesta k adresáři, která již obsahuje jeden nebo více uložených souborů (včetně souboru MLTable YAML) a přepsání je nastaveno na false nebo "fail", je vyvolána výjimka UserErrorException. Pokud je cesta vzdálená, všechny cesty k místním souborům, které nejsou zadané jako společně umístěné cesty (cesta k souboru vzhledem k adresáři, ze kterého byla načtena tabulka MLTable), způsobí chybu UserErrorException.

colocated řídí způsob ukládání přidružených cest k cestě. Pokud je true, soubory se zkopírují do cesty spolu se souborem MLTable YAML jako relativní cesty k souborům. Jinak se přidružené soubory nekopírují, vzdálené cesty zůstanou dané a místní cesty k souborům se v případě potřeby vytvoří relativní s přesměrováním cesty. Mějte na paměti, že false může vést k nekooktovaným souborům MLTable YAML, což se nedoporučuje. Navíc pokud je cesta vzdálená, dojde k chybě UserErrorException, protože přesměrování relativní cesty není podporováno pro vzdálené identifikátory URI.

Všimněte si, že pokud je mlTable vytvořena programově pomocí metod , jako je from_paths() nebo from_read_delimited_files() s místními relativními cestami, cesta k adresáři MLTable se předpokládá jako aktuální pracovní adresář.

Při ukládání nové tabulky MLTable & přidružených datových souborů do adresáře s existujícím souborem MLTable & přidružených datových souborů mějte na paměti, že před uložením nových souborů se v adresáři nevymaže existující soubory. Je možné, že po uložení nových souborů se existující datové soubory zachovají, zejména pokud stávající datové soubory nemají názvy odpovídající novým datovým souborům. Pokud nová tabulka MLTable pod svými cestami obsahuje návrh vzoru, může to neúmyslně změnit tabulku MLTable přidružením existujících datových souborů k nové tabulce MLTable.

Pokud cesty k souborům v této tabulce MLTable ukazují na existující soubor v cestě , ale mají jiný identifikátor URI, při přepsání dojde k selhání nebo přeskočení existujícího souboru se nepřepíše (tj. přeskočí).

save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)

Parametry

Name Description
path
Vyžadováno
str

cesta k adresáři, do které se má uložit, ve výchozím nastavení aktuální pracovní adresář

colocated
Vyžadováno

Pokud má hodnotu True, uloží kopie místních & vzdálených cest k souborům v této tabulce MLTable pod cestu jako relativní cesty. V opačném případě nedojde ke kopírování souborů a cesty ke vzdáleným souborům se uloží tak, jak jsou dány uloženému souboru MLTable YAML, a místní cesty k souborům jako relativní cesty k souborům s přesměrováním cesty. Pokud je cesta vzdálená & tato tabulka MLTable obsahuje místní cesty k souborům, vyvolá se výjimka UserErrorException.

overwrite
Vyžadováno
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

Způsob zpracování existujícího souboru MLTable YAML a přidružených souborů, které již mohou existovat v cestě Možnosti jsou "overwrite" (nebo True) pro nahrazení všech existujících souborů, "fail" (nebo False) pro vyvolání chyby, pokud soubor již existuje, nebo "přeskočit", pokud chcete ponechat existující soubory tak, jak jsou. Může také nastavit na <xref:mltable.MLTableSaveOverwriteOptions>hodnotu .

show_progress
Vyžadováno

zobrazí průběh kopírování do výstupu stdout.

if_err_remove_files
Vyžadováno

Pokud při ukládání dojde k nějaké chybě, odeberte všechny úspěšně uložené soubory, aby operace byla atomická.

Návraty

Typ Description

tato instance MLTable

select_partitions

Přidá krok transformace pro výběr oddílu.

select_partitions(partition_index_list)

Parametry

Name Description
partition_index_list
Vyžadováno
list of int

list of partition index

Návraty

Typ Description

MLTable s aktualizovanou velikostí oddílu

Poznámky

Následující fragment kódu ukazuje, jak použít rozhraní API select_partitions k vybraným oddílům z poskytnuté tabulky MLTable.


   partition_index_list = [1, 2]
   mltable = mltable.select_partitions(partition_index_list)

show

Načte první počet řádků této tabulky MLTable jako datový rámec Pandas.

show(count=20)

Parametry

Name Description
count
Vyžadováno
int

počet řádků z horní části tabulky k výběru

Návraty

Typ Description
<xref:Pandas> <xref:Dataframe>

first count rows of the MLTable

skip

Přidá krok transformace, který přeskočí první řádky s počtem v této tabulce MLTable.

skip(count)

Parametry

Name Description
count
Vyžadováno
int

počet řádků, které se mají přeskočit

Návraty

Typ Description

MLTable s přidaným krokem transformace

take

Přidá krok transformace pro výběr prvního počtu řádků této tabulky MLTable.

take(count=20)

Parametry

Name Description
count
Vyžadováno
int

počet řádků z horní části tabulky k výběru

Návraty

Typ Description

MLTable s přidaným krokem "take" transformace

take_random_sample

Přidá transformační krok pro náhodný výběr každého řádku této tabulky MLTable s pravděpodobností pravděpodobnosti . Pravděpodobnost musí být v rozsahu [0, 1]. Může volitelně nastavit náhodné počáteční hodnoty.

take_random_sample(probability, seed=None)

Parametry

Name Description
probability
Vyžadováno

pravděpodobnost, že je vybrán každý řádek

seed
Vyžadováno

volitelné náhodné počáteční

Návraty

Typ Description

MLTable s přidaným krokem transformace

to_pandas_dataframe

Načtěte všechny záznamy z cest zadaných v souboru MLTable do datového rámce Pandas.

to_pandas_dataframe()

Návraty

Typ Description

Datový rámec Pandas obsahující záznamy z cest v této tabulce MLTable

Poznámky

Následující fragment kódu ukazuje, jak pomocí rozhraní API to_pandas_dataframe získat datový rámec pandas odpovídající zadané tabulce MLTable.


   from mltable import load
   tbl = load('.\samples\mltable_sample')
   pdf = tbl.to_pandas_dataframe()
   print(pdf.shape)

validate

Ověří, jestli je možné načíst data této tabulky MLTable, a vyžaduje, aby byly zdroje dat MLTable přístupné z aktuálního výpočetního prostředí.

validate()

Návraty

Typ Description

Žádné

Atributy

partition_keys

Vraťte klíče oddílů.

Návraty

Typ Description

klíče oddílů

paths

Vrátí seznam slovníků obsahující původní cesty zadané této tabulce MLTable. Relativní místní cesty k souborům se považují za relativní vzhledem k adresáři, ze kterého byla načtena instance MLTable YAML.

Návraty

Typ Description

list of dicts containing paths specified in the MLTable