MLTable Třída
Představuje tabulku MLTable.
Tabulka MLTable definuje řadu lazily vyhodnocených a neměnných operací pro načtení dat ze zdroje dat. Data se ze zdroje nenačtou, dokud se tabulka MLTable nezobrazí žádost o doručení dat.
Inicializace nové tabulky MLTable
Tento konstruktor by neměl být vyvolán přímo. MlTable je určen k vytvoření pomocí load.
Konstruktor
MLTable()
Metody
| convert_column_types |
Přidá krok transformace, který převede zadané sloupce na odpovídající zadané nové typy.
|
| drop_columns |
Přidá krok transformace pro vyřazení daných sloupců z datové sady. Pokud se prázdný seznam, řazená kolekce členů nebo sada nespustí nic. Duplicitní sloupce vytvoří výjimka UserErrorException. Při pokusu o vyřazení sloupce, který je MLTable.traits.timestamp_column nebo v MLTable.traits.index_columns vyvolá výjimka UserErrorException. |
| extract_columns_from_partition_format |
Přidá krok transformace, který použije informace o oddílu 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:rrrr/MM/dd/HH/mm/ss} vytvoří sloupec datetime, kde "rrrr", "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 vzhledem k cestě /Accounts/2019/01/01/data.csv, kde je oddíl podle názvu a času oddělení, partition_format=/{Department}/{PartitionDate:yy/MM/dd}/data.csvvytvoří sloupec řetězce Department s hodnotou "Accounts" a sloupcem datetime PartitionDate s hodnotou 2019-01-01. |
| filter |
Vyfiltrujte data a ponechte jenom záznamy, které odpovídají zadanému výrazu. |
| get_partition_count |
Vrátí počet datových oddílů, které tvoří podkladová data přidružená k této tabulce MLTable. |
| keep_columns |
Přidá krok transformace, který zachová zadané sloupce a odstraní všechny ostatní z datové sady. Pokud se prázdný seznam, řazená kolekce členů nebo sada nespustí nic. Duplicitní sloupce vytvoří výjimka UserErrorException. Pokud se sloupec ve MLTable.traits.timestamp_column nebo sloupcích ve MLTable.traits.index_columns explicitně neuchová, zobrazí se výjimka UserErrorException. |
| random_split |
Náhodně rozdělí tuto tabulku MLTable na dvě tabulky MLTable, přičemž jedna má přibližně "procenta"% dat původní tabulky MLTable a druhá má zbytek (1–"procenta"%). |
| save |
Tuto tabulku MLTable uložte jako soubor YAML tabulky ML a jeho asociované cesty k dané cestě k danému adresáři. Pokud cesta není uvedena, nastaví se výchozí hodnota aktuálního pracovního adresáře. Pokud cesta neexistuje, vytvoří se. Pokud je cesta vzdálená, základní úložiště dat už musí existovat. Pokud je cesta místním adresářem a není absolutní, je absolutní. Pokud cesta odkazuje na soubor, je vyvolána výjimka UserErrorException. Pokud je cesta k adresáři, která již obsahuje jeden nebo více souborů, které se ukládají (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 spolulokovaná cesta (cesta k souboru vzhledem k adresáři, ze kterého byla načtena tabulka MLTable), vyvolá výjimka UserErrorException. spolulokované ovládací prvky určuje, jak se přidružené cesty ukládají do cesty. Pokud je pravda, soubory se zkopírují do cesty spolu se souborem YAML tabulky MLTable jako relativní cesty k souborům. Jinak přidružené soubory nejsou zkopírovány, vzdálené cesty zůstávají tak, jak jsou zadané, a místní cesty k souborům jsou v případě potřeby relativní s přesměrováním cesty. Mějte na paměti, že nepravda může vést k necolocated MLTable YAML souborů, které se nedoporučují. Pokud je cesta vzdálená, bude výsledkem výjimka UserErrorException, protože pro vzdálené identifikátory URI není podporováno přesměrování relativní cesty. Všimněte si, že pokud se mlTable vytvoří programově pomocí metod, jako jsou from_paths() nebo from_read_delimited_files() s místními relativními cestami, předpokládá se, že adresář MLTable bude aktuální pracovní adresář. Při ukládání nových datových souborů MLTable a přidružených datových souborů do adresáře s existujícím souborem MLTable a přidruženými datovými soubory, které adresář před uložením nových souborů nevymaže, mějte na paměti. Po uložení nových souborů je možné zachovat již existující datové soubory, zejména pokud existující datové soubory nemají názvy odpovídající novým datovým souborům. Pokud nová tabulka MLTable obsahuje pod svými cestami vzorový návrh, může 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 odkazují na existující soubor v cestě , ale mají jiný identifikátor URI, pokud je přepsání "selhání" nebo "přeskočit" existující soubor nebude přepsán (tj. vynecháno). |
| 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 počtu této tabulky MLTable. |
| take |
Přidá krok transformace, který vybere první řádky této tabulky MLTable. |
| take_random_sample |
Přidá krok transformace, který náhodně vybere každý řádek této tabulky MLTable s pravděpodobností . Pravděpodobnost musí být v rozsahu [0, 1]. Volitelně můžete 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 tabulky MLTable, vyžaduje, aby zdroje dat tabulky MLTable byly přístupné z aktuálního výpočetního prostředí. |
convert_column_types
Přidá krok transformace, který převede zadané sloupce na odpovídající zadané 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: Typ uživatele, který chce převést |
Návraty
| Typ | Description |
|---|---|
|
MLTable s přidaným krokem transformace |
drop_columns
Přidá krok transformace pro vyřazení daných sloupců z datové sady. Pokud se prázdný seznam, řazená kolekce členů nebo sada nespustí nic. Duplicitní sloupce vytvoří výjimka UserErrorException.
Při pokusu o vyřazení sloupce, který je MLTable.traits.timestamp_column nebo v MLTable.traits.index_columns vyvolá výjimka UserErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametry
| Name | Description |
|---|---|
|
columns
Vyžadováno
|
sloupce, které chcete z této tabulky ML odstranit |
Návraty
| Typ | Description |
|---|---|
|
MLTable s přidaným krokem transformace |
extract_columns_from_partition_format
Přidá krok transformace, který použije informace o oddílu 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:rrrr/MM/dd/HH/mm/ss} vytvoří sloupec datetime, kde "rrrr", "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 vzhledem k cestě /Accounts/2019/01/01/data.csv, kde je oddíl podle názvu a času oddělení, partition_format=/{Department}/{PartitionDate:yy/MM/dd}/data.csvvytvoří sloupec řetězce Department s hodnotou "Accounts" a sloupcem datetime PartitionDate s hodnotou 2019-01-01.
extract_columns_from_partition_format(partition_format)
Parametry
| Name | Description |
|---|---|
|
partition_format
Vyžadováno
|
Formát oddílu, který se použije k extrakci dat do sloupců |
Návraty
| Typ | Description |
|---|---|
|
TABULKA MLTable, jejíž formát oddílu je nastavený na daný formát |
filter
Vyfiltrujte data a ponechte jenom 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 lze je kombinovat pomocí logických operátorů. Výsledný výraz se bude líně vyhodnocovat pro každý záznam, když dojde k načtení 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é tvoří podkladová data přidružená k této tabulce MLTable.
get_partition_count() -> int
Návraty
| Typ | Description |
|---|---|
|
oddíly dat v této tabulce ML |
keep_columns
Přidá krok transformace, který zachová zadané sloupce a odstraní všechny ostatní z datové sady. Pokud se prázdný seznam, řazená kolekce členů nebo sada nespustí nic. Duplicitní sloupce vytvoří výjimka UserErrorException.
Pokud se sloupec ve MLTable.traits.timestamp_column nebo sloupcích ve MLTable.traits.index_columns explicitně neuchová, zobrazí se výjimka UserErrorException.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametry
| Name | Description |
|---|---|
|
columns
Vyžadováno
|
sloupce v této tabulce ML, které chcete 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ě "procenta"% dat původní tabulky MLTable a druhá má zbytek (1–"procenta"%).
random_split(percent=0.5, seed=None)
Parametry
| Name | Description |
|---|---|
|
percent
Vyžadováno
|
procento MLTable rozdělit mezi |
|
seed
Vyžadováno
|
volitelná náhodná počáteční hodnota |
Návraty
| Typ | Description |
|---|---|
|
dvě tabulky MLTable s daty této tabulky MLTable jsou rozděleny podle "procenta". |
save
Tuto tabulku MLTable uložte jako soubor YAML tabulky ML a jeho asociované cesty k dané cestě k danému adresáři.
Pokud cesta není uvedena, nastaví se výchozí hodnota aktuálního pracovního adresáře. Pokud cesta neexistuje, vytvoří se. Pokud je cesta vzdálená, základní úložiště dat už musí existovat. Pokud je cesta místním adresářem a není absolutní, je absolutní.
Pokud cesta odkazuje na soubor, je vyvolána výjimka UserErrorException. Pokud je cesta k adresáři, která již obsahuje jeden nebo více souborů, které se ukládají (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 spolulokovaná cesta (cesta k souboru vzhledem k adresáři, ze kterého byla načtena tabulka MLTable), vyvolá výjimka UserErrorException.
spolulokované ovládací prvky určuje, jak se přidružené cesty ukládají do cesty. Pokud je pravda, soubory se zkopírují do cesty spolu se souborem YAML tabulky MLTable jako relativní cesty k souborům. Jinak přidružené soubory nejsou zkopírovány, vzdálené cesty zůstávají tak, jak jsou zadané, a místní cesty k souborům jsou v případě potřeby relativní s přesměrováním cesty. Mějte na paměti, že nepravda může vést k necolocated MLTable YAML souborů, které se nedoporučují. Pokud je cesta vzdálená, bude výsledkem výjimka UserErrorException, protože pro vzdálené identifikátory URI není podporováno přesměrování relativní cesty.
Všimněte si, že pokud se mlTable vytvoří programově pomocí metod, jako jsou from_paths() nebo from_read_delimited_files() s místními relativními cestami, předpokládá se, že adresář MLTable bude aktuální pracovní adresář.
Při ukládání nových datových souborů MLTable a přidružených datových souborů do adresáře s existujícím souborem MLTable a přidruženými datovými soubory, které adresář před uložením nových souborů nevymaže, mějte na paměti. Po uložení nových souborů je možné zachovat již existující datové soubory, zejména pokud existující datové soubory nemají názvy odpovídající novým datovým souborům. Pokud nová tabulka MLTable obsahuje pod svými cestami vzorový návrh, může 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 odkazují na existující soubor v cestě , ale mají jiný identifikátor URI, pokud je přepsání "selhání" nebo "přeskočit" existující soubor nebude přepsán (tj. vynecháno).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Parametry
| Name | Description |
|---|---|
|
path
Vyžadováno
|
cesta k adresáři, do které se má uložit, výchozí pro aktuální pracovní adresář |
|
colocated
Vyžadováno
|
Pokud je pravda, uloží kopie místních a vzdálených cest k souborům v této tabulce MLTable jako relativní cesty. V opačném případě nedojde k kopírování souborů a vzdálené cesty k souborům se uloží do uloženého souboru MLTable YAML a místních cest k souborům jako relativní cesty k souborům s přesměrováním cesty. Pokud je cesta vzdálená a 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>]
Jak se zpracovává existující soubor MLTable YAML a přidružené soubory, které již mohou existovat v cestě . Možnosti jsou přepsání (nebo true) pro nahrazení existujících souborů, selhání (nebo nepravda) pro vyvolání chyby v případě, že soubor již existuje, nebo "přeskočit", aby se existující soubory ponechaly tak, jak jsou. Lze také nastavit s <xref:mltable.MLTableSaveOverwriteOptions>. |
|
show_progress
Vyžadováno
|
zobrazí průběh kopírování do stdoutu. |
|
if_err_remove_files
Vyžadováno
|
Pokud během 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
|
seznam indexů oddílů |
Návraty
| Typ | Description |
|---|---|
|
Tabulka 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
|
Počet řádků z horní části tabulky, které chcete vybrat |
Návraty
| Typ | Description |
|---|---|
|
<xref:Pandas> <xref:Dataframe>
|
počet prvních řádků tabulky MLTable |
skip
Přidá krok transformace, který přeskočí první řádky počtu této tabulky MLTable.
skip(count)
Parametry
| Name | Description |
|---|---|
|
count
Vyžadováno
|
Počet řádků, které se mají přeskočit |
Návraty
| Typ | Description |
|---|---|
|
MLTable s přidaným krokem transformace |
take
take_random_sample
Přidá krok transformace, který náhodně vybere každý řádek této tabulky MLTable s pravděpodobností . Pravděpodobnost musí být v rozsahu [0, 1]. Volitelně můžete nastavit náhodné počáteční hodnoty.
take_random_sample(probability, seed=None)
Parametry
| Name | Description |
|---|---|
|
probability
Vyžadováno
|
šance, že je vybrán každý řádek |
|
seed
Vyžadováno
|
volitelná náhodná počáteční hodnota |
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 ML |
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 tabulky MLTable, vyžaduje, aby zdroje dat tabulky MLTable byly přístupné z aktuálního výpočetního prostředí.
validate()
Návraty
| Typ | Description |
|---|---|
|
Žádné |
Atributy
paths
Vrátí seznam slovníků obsahujících původní cesty dané této tabulce MLTable. Relativní místní cesty k souborům se předpokládají, že jsou relativní vzhledem k adresáři, ze kterého byl načten soubor MLTable YAML této instance MLTable.
Návraty
| Typ | Description |
|---|---|
|
seznam diktů obsahujících cesty zadané v tabulce MLTable |