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.objectMLTable
Konstruktor
MLTable()
Metody
convert_column_types |
Přidá krok transformace pro převod zadaných sloupců na příslušné nové typy.
|
drop_columns |
Přidá krok transformace, který z datové sady vyřadí dané sloupce. Pokud je prázdný seznam, řazená kolekce členů nebo sada, nic se nespustí. Duplicitní sloupce způsobí chybu UserErrorException. Pokus o odstranění sloupce, který je MLTable.traits.timestamp_column nebo v MLTable.traits.index_columns vyvolá 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: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ří řetězecový sloupec Department s hodnotou Accounts a sloupec 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é jsou podkladem dat přidružených k této tabulce MLTable. |
keep_columns |
Přidá krok transformace pro zachování zadaných sloupců a vyřadí všechny ostatní z datové sady. Pokud je 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ě %% původních dat MLTable a druhá má zbytek (1–"procento"%). |
save |
Tuto tabulku MLTable uložte jako soubor MLTable YAML & jeho přidružené cesty k dané cestě adresáře. Pokud není cesta zadaná, ve výchozím nastavení se nastaví aktuální pracovní adresář. Pokud cesta neexistuje, vytvoří se. Pokud je cesta vzdálená, musí podkladové úložiště dat již existovat. Pokud cesta je místní adresář & není absolutní, je absolutní. Pokud cesta odkazuje na soubor, je vyvolána výjimka UserErrorException. Pokud je cesta 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é řídí způsob ukládání přidružených cest do cesty. 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 jsou v případě potřeby relativní s přesměrováním cesty. Všimněte si, že nepravda může mít za následek nebarvené soubory MLTable YAML, což se nedoporučuje, navíc pokud je cesta vzdálená, výsledkem bude 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 je tabulka MLTable vytvořená programově pomocí metod, jako je from_paths() nebo from_read_delimited_files() s místními relativními cestami, cesta k adresáři MLTable je považována za 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 adresář není před uložením nových souborů vymazán z existujících souborů. Po uložení nových souborů je možné zachovat již existující datové soubory, zejména pokud stávající datové soubory nemají názvy odpovídající žádným 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 odkazují na existující soubor v cestě , ale mají jiný identifikátor URI, pokud je přepsání "selhání" nebo "přeskočit", stávající soubor se nepřepíše (tj. přeskočí). |
select_partitions |
Přidá krok transformace pro výběr oddílu. |
show |
Načte první řádky počtu 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 pro výběr prvních řádků počtu 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ěpodobnosti . Pravděpodobnost musí být v rozsahu [0, 1]. Volitelně může nastavit náhodné semeno. |
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 příslušné 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é uživatel chce převést |
Návraty
Typ | Description |
---|---|
MLTable s přidaným krokem transformace |
drop_columns
Přidá krok transformace, který z datové sady vyřadí dané sloupce. Pokud je prázdný seznam, řazená kolekce členů nebo sada, nic se nespustí. Duplicitní sloupce způsobí chybu UserErrorException.
Pokus o odstranění sloupce, který je MLTable.traits.timestamp_column nebo v MLTable.traits.index_columns vyvolá userErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametry
Name | Description |
---|---|
columns
Vyžadováno
|
sloupce, které se mají z této tabulky ML vypustit |
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: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ří řetězecový sloupec 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
|
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
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 za filtrem |
Poznámky
Výrazy se zahajují 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 bude líně vyhodnocen 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é jsou podkladem dat přidružených k této tabulce MLTable.
get_partition_count() -> int
Návraty
Typ | Description |
---|---|
datové oddíly v této tabulce MLTable |
keep_columns
Přidá krok transformace pro zachování zadaných sloupců a vyřadí všechny ostatní z datové sady. Pokud je 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
|
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ě %% 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
|
procento tabulky MLTable, mezi které se má rozdělit |
seed
Vyžadováno
|
volitelné náhodné semeno |
Návraty
Typ | Description |
---|---|
dvě tabulky MLTable s daty této tabulky MLTable rozdělené mezi ně podle procenta |
save
Tuto tabulku MLTable uložte jako soubor MLTable YAML & jeho přidružené cesty k dané cestě adresáře.
Pokud není cesta zadaná, ve výchozím nastavení se nastaví aktuální pracovní adresář. Pokud cesta neexistuje, vytvoří se. Pokud je cesta vzdálená, musí podkladové úložiště dat již existovat. Pokud cesta je místní adresář & není absolutní, je absolutní.
Pokud cesta odkazuje na soubor, je vyvolána výjimka UserErrorException. Pokud je cesta 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é řídí způsob ukládání přidružených cest do cesty. 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 jsou v případě potřeby relativní s přesměrováním cesty. Všimněte si, že nepravda může mít za následek nebarvené soubory MLTable YAML, což se nedoporučuje, navíc pokud je cesta vzdálená, výsledkem bude 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 je tabulka MLTable vytvořená programově pomocí metod, jako je from_paths() nebo from_read_delimited_files() s místními relativními cestami, cesta k adresáři MLTable je považována za 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 adresář není před uložením nových souborů vymazán z existujících souborů. Po uložení nových souborů je možné zachovat již existující datové soubory, zejména pokud stávající datové soubory nemají názvy odpovídající žádným 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 odkazují na existující soubor v cestě , ale mají jiný identifikátor URI, pokud je přepsání "selhání" nebo "přeskočit", stávající soubor 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
|
cesta k adresáři, do které chcete uložit, výchozí na aktuální pracovní adresář |
colocated
Vyžadováno
|
Pokud je true, uloží kopie místních & vzdálených cest k souborům v této tabulce MLTable pod cestou jako relativní cesty. V opačném případě nedojde ke kopírování souborů a cesty ke vzdáleným souborům jsou uloženy 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 "přepsání" (nebo true) pro nahrazení všech existujících souborů, "selhání" (nebo nepravda) vyvolá chybu, pokud soubor již existuje, nebo "přeskočit", pokud chcete ponechat existující soubory tak, jak jsou. Může 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 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
|
seznam indexu 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í řádky počtu 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 k výběru |
Návraty
Typ | Description |
---|---|
<xref:Pandas> <xref:Dataframe>
|
první počet řá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
Přidá krok transformace pro výběr prvních řádků počtu této tabulky MLTable.
take(count=20)
Parametry
Name | Description |
---|---|
count
Vyžadováno
|
Počet řádků z horní části tabulky k výběru |
Návraty
Typ | Description |
---|---|
MLTable s přidaným transformačním krokem "take" |
take_random_sample
Přidá krok transformace, který náhodně vybere každý řádek této tabulky MLTable s pravděpodobností pravděpodobnosti . Pravděpodobnost musí být v rozsahu [0, 1]. Volitelně může nastavit náhodné semeno.
take_random_sample(probability, seed=None)
Parametry
Name | Description |
---|---|
probability
Vyžadováno
|
pravděpodobnost, že je vybraný každý řádek |
seed
Vyžadováno
|
volitelné náhodné semeno |
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
paths
Vrátí seznam slovníků obsahující původní cesty zadané této tabulce MLTable. Relativní místní cesty k souborům jsou považovány za relativní vzhledem k adresáři, ze kterého byl načten soubor MLTable YAML této instance MLTable.
Návraty
Typ | Description |
---|---|
seznam diktátů obsahujících cesty zadané v tabulce MLTable |