Dela via


MLTable Klass

Representerar en MLTable.

En MLTable definierar en serie lätt utvärderade, oföränderliga åtgärder för att läsa in data från datakällan. Data läses inte in från källan förrän MLTable uppmanas att leverera data.

Initiera en ny MLTable.

Konstruktorn ska inte anropas direkt. MLTable är avsett att skapas med .load

Arv
builtins.object
MLTable

Konstruktor

MLTable()

Metoder

convert_column_types

Lägger till ett transformeringssteg för att konvertera de angivna kolumnerna till deras respektive angivna nya typer.


   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

Lägger till ett transformeringssteg för att släppa de angivna kolumnerna från datauppsättningen. Om en tom lista, tuppeln eller uppsättningen har angetts tas ingenting bort. Dubblettkolumner genererar en UserErrorException.

Om du försöker släppa en kolumn som är MLTable.traits.timestamp_column eller i MLTable.traits.index_columns genereras en UserErrorException.

extract_columns_from_partition_format

Lägger till ett transformeringssteg för att använda partitionsinformationen för varje sökväg och extrahera dem till kolumner baserat på det angivna partitionsformatet.

Formatdelen {column_name} skapar strängkolumnen och {column_name:yyyy/MM/dd/HH/mm/ss} skapar datetime-kolumnen, där "åååå", "MM", "dd", "HH", "mm" och "ss" används för att extrahera år, månad, dag, timme, minut och sekund för datetime-typen.

Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Med tanke på sökvägen "/Accounts/2019/01/01/data.csv" där partitionen är efter avdelningsnamn och tid, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' skapar en strängkolumn 'Avdelning' med värdet 'Konton' och en datetime-kolumn 'PartitionDate' med värdet '2019-01-01'.

filter

Filtrera data och lämna endast de poster som matchar det angivna uttrycket.

get_partition_count

Returnerar antalet datapartitioner som ligger till grund för de data som är associerade med denna MLTable.

keep_columns

Lägger till ett transformeringssteg för att behålla de angivna kolumnerna och släppa alla andra från datauppsättningen. Om en tom lista, tuppeln eller uppsättningen har angetts tas ingenting bort. Dubblettkolumner genererar en UserErrorException.

Om kolumnen i MLTable.traits.timestamp_column eller kolumner i MLTable.traits.index_columns inte uttryckligen behålls, är en UserErrorException raiesd.

random_split

Slumpmässigt delar den här MLTable i två MLTables, en med cirka "procent" av den ursprungliga MLTable-data och den andra har resten (1-"procent"%).

save

Spara MLTable som en MLTable YAML-fil & dess associerade sökvägar till den angivna katalogsökvägen.

Om sökvägen inte anges används den aktuella arbetskatalogen som standard. Om sökvägen inte finns skapas den. Om sökvägen är fjärransluten måste det underliggande datalagret redan finnas. Om sökvägen är en lokal katalog & inte är absolut görs den absolut.

Om sökvägen pekar på en fil utlöses en UserErrorException. Om sökvägen är en katalogsökväg som redan innehåller en eller flera filer som sparas (inklusive MLTable YAML-filen) och överskrivningen är inställd på Falskt eller "misslyckas" – utlöses en UserErrorException. Om sökvägen är fjärransluten genereras en UserErrorException om sökvägen är fjärransluten.

samlokaliserade kontroller hur associerade sökvägar sparas i sökvägen. Om sant kopieras filer till sökvägen tillsammans med MLTable YAML-filen som relativa filsökvägar. Annars kopieras inte associerade filer, fjärrsökvägar förblir som angivna och lokala filsökvägar görs relativa med sökvägsomdirigering om det behövs. Observera att False kan resultera i icke-allokerade MLTable YAML-filer, vilket inte rekommenderas, och om sökvägen är fjärransluten resulterar detta i en UserErrorException eftersom relativ sökvägsomdirigering inte stöds för fjärr-URI:er.

Observera att om MLTable skapas programmässigt med metoder som from_paths() eller from_read_delimited_files() med lokala relativa sökvägar antas MLTable-katalogsökvägen vara den aktuella arbetskatalogen.

Tänk på när du sparar en ny MLTable-& associerade datafiler till en katalog med en befintlig MLTable-fil & associerade datafiler som katalogen inte rensas från befintliga filer innan du sparar de nya filerna. Det är möjligt att befintliga datafiler sparas efter att de nya filerna har sparats, särskilt om befintliga datafiler inte har namn som matchar några nya datafiler. Om den nya MLTable innehåller en mönsterdesignare under dess sökvägar kan detta oavsiktligt ändra MLTable genom att associera befintliga datafiler med den nya MLTable.

Om filsökvägarna i den här MLTable-filen pekar på en befintlig fil i sökvägen men har en annan URI, kommer den befintliga filen inte att skrivas över om överskrivningen är "fail" eller "skip" (d.v.s. hoppas över).

select_partitions

Lägger till ett transformeringssteg för att välja partitionen.

show

Hämtar de första antal raderna i denna MLTable som en Pandas-dataram.

skip

Lägger till ett transformeringssteg för att hoppa över de första antal raderna i denna MLTable.

take

Lägger till ett transformeringssteg för att välja de första antal raderna i denna MLTable.

take_random_sample

Lägger till ett transformeringssteg för att slumpmässigt välja varje rad i denna MLTable med sannolikhetschans . Sannolikheten måste vara inom intervallet [0, 1]. Kan också ange ett slumpmässigt frö.

to_pandas_dataframe

Läs in alla poster från sökvägarna som anges i MLTable-filen till en Pandas DataFrame.

validate

Verifierar om mlTable-data kan läsas in, kräver att MLTable-datakällorna är tillgängliga från den aktuella beräkningen.

convert_column_types

Lägger till ett transformeringssteg för att konvertera de angivna kolumnerna till deras respektive angivna nya typer.


   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)

Parametrar

Name Description
column_types
Obligatorisk

Ordlista för kolumn: skriver användaren vill konvertera

Returer

Typ Description

MLTable med det tillagda transformeringssteget

drop_columns

Lägger till ett transformeringssteg för att släppa de angivna kolumnerna från datauppsättningen. Om en tom lista, tuppeln eller uppsättningen har angetts tas ingenting bort. Dubblettkolumner genererar en UserErrorException.

Om du försöker släppa en kolumn som är MLTable.traits.timestamp_column eller i MLTable.traits.index_columns genereras en UserErrorException.

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

Parametrar

Name Description
columns
Obligatorisk
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

kolumner att släppa från denna MLTable

Returer

Typ Description

MLTable med det tillagda transformeringssteget

extract_columns_from_partition_format

Lägger till ett transformeringssteg för att använda partitionsinformationen för varje sökväg och extrahera dem till kolumner baserat på det angivna partitionsformatet.

Formatdelen {column_name} skapar strängkolumnen och {column_name:yyyy/MM/dd/HH/mm/ss} skapar datetime-kolumnen, där "åååå", "MM", "dd", "HH", "mm" och "ss" används för att extrahera år, månad, dag, timme, minut och sekund för datetime-typen.

Formatet bör börja från positionen för den första partitionsnyckeln till slutet av filsökvägen. Med tanke på sökvägen "/Accounts/2019/01/01/data.csv" där partitionen är efter avdelningsnamn och tid, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' skapar en strängkolumn 'Avdelning' med värdet 'Konton' och en datetime-kolumn 'PartitionDate' med värdet '2019-01-01'.

extract_columns_from_partition_format(partition_format)

Parametrar

Name Description
partition_format
Obligatorisk
str

Partitionsformat som ska användas för att extrahera data till kolumner

Returer

Typ Description

MLTable vars partitionsformat är inställt på angivet format

filter

Filtrera data och lämna endast de poster som matchar det angivna uttrycket.

filter(expression)

Parametrar

Name Description
expression
Obligatorisk

Uttrycket som ska utvärderas.

Returer

Typ Description

MLTable efter filter

Kommentarer

Uttryck startas genom indexering av mltable med namnet på en kolumn. De stöder en mängd olika funktioner och operatorer och kan kombineras med logiska operatorer. Det resulterande uttrycket utvärderas lättsinnigt för varje post när en datahämtning sker och inte där den definieras.


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

get_partition_count

Returnerar antalet datapartitioner som ligger till grund för de data som är associerade med denna MLTable.

get_partition_count() -> int

Returer

Typ Description
int

datapartitioner i den här MLTable

keep_columns

Lägger till ett transformeringssteg för att behålla de angivna kolumnerna och släppa alla andra från datauppsättningen. Om en tom lista, tuppeln eller uppsättningen har angetts tas ingenting bort. Dubblettkolumner genererar en UserErrorException.

Om kolumnen i MLTable.traits.timestamp_column eller kolumner i MLTable.traits.index_columns inte uttryckligen behålls, är en UserErrorException raiesd.

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

Parametrar

Name Description
columns
Obligatorisk
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

kolumner i den här MLTable att behålla

Returer

Typ Description

MLTable med det tillagda transformeringssteget

random_split

Slumpmässigt delar den här MLTable i två MLTables, en med cirka "procent" av den ursprungliga MLTable-data och den andra har resten (1-"procent"%).

random_split(percent=0.5, seed=None)

Parametrar

Name Description
percent
Obligatorisk

procent av MLTable som ska delas mellan

seed
Obligatorisk

valfritt slumpmässigt frö

Returer

Typ Description

två MLTables med mltable-data uppdelade mellan dem med "procent"

save

Spara MLTable som en MLTable YAML-fil & dess associerade sökvägar till den angivna katalogsökvägen.

Om sökvägen inte anges används den aktuella arbetskatalogen som standard. Om sökvägen inte finns skapas den. Om sökvägen är fjärransluten måste det underliggande datalagret redan finnas. Om sökvägen är en lokal katalog & inte är absolut görs den absolut.

Om sökvägen pekar på en fil utlöses en UserErrorException. Om sökvägen är en katalogsökväg som redan innehåller en eller flera filer som sparas (inklusive MLTable YAML-filen) och överskrivningen är inställd på Falskt eller "misslyckas" – utlöses en UserErrorException. Om sökvägen är fjärransluten genereras en UserErrorException om sökvägen är fjärransluten.

samlokaliserade kontroller hur associerade sökvägar sparas i sökvägen. Om sant kopieras filer till sökvägen tillsammans med MLTable YAML-filen som relativa filsökvägar. Annars kopieras inte associerade filer, fjärrsökvägar förblir som angivna och lokala filsökvägar görs relativa med sökvägsomdirigering om det behövs. Observera att False kan resultera i icke-allokerade MLTable YAML-filer, vilket inte rekommenderas, och om sökvägen är fjärransluten resulterar detta i en UserErrorException eftersom relativ sökvägsomdirigering inte stöds för fjärr-URI:er.

Observera att om MLTable skapas programmässigt med metoder som from_paths() eller from_read_delimited_files() med lokala relativa sökvägar antas MLTable-katalogsökvägen vara den aktuella arbetskatalogen.

Tänk på när du sparar en ny MLTable-& associerade datafiler till en katalog med en befintlig MLTable-fil & associerade datafiler som katalogen inte rensas från befintliga filer innan du sparar de nya filerna. Det är möjligt att befintliga datafiler sparas efter att de nya filerna har sparats, särskilt om befintliga datafiler inte har namn som matchar några nya datafiler. Om den nya MLTable innehåller en mönsterdesignare under dess sökvägar kan detta oavsiktligt ändra MLTable genom att associera befintliga datafiler med den nya MLTable.

Om filsökvägarna i den här MLTable-filen pekar på en befintlig fil i sökvägen men har en annan URI, kommer den befintliga filen inte att skrivas över om överskrivningen är "fail" eller "skip" (d.v.s. hoppas över).

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

Parametrar

Name Description
path
Obligatorisk
str

katalogsökväg att spara till, standard till aktuell arbetskatalog

colocated
Obligatorisk

Om det är sant sparar du kopior av lokala & fjärrfilsökvägar i den här MLTable-filen under sökvägen som relativa sökvägar. Annars sker ingen filkopiering och fjärrfilsökvägar sparas som den sparade MLTable YAML-filen och lokala filsökvägar som relativa filsökvägar med sökvägsomdirigering. Om sökvägen är fjärransluten & den här MLTable innehåller lokala filsökvägar aktiveras en UserErrorException.

overwrite
Obligatorisk
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

Hur befintliga EN MLTable YAML-fil och associerade filer som kanske redan finns under sökvägen hanteras. Alternativen är "overwrite" (eller True) för att ersätta befintliga filer, "fail" (eller False) för att skapa ett fel om en fil redan finns eller "hoppa över" för att lämna befintliga filer som de är. Kan också anges med <xref:mltable.MLTableSaveOverwriteOptions>.

show_progress
Obligatorisk

visar kopieringsstatus till stdout

if_err_remove_files
Obligatorisk

om något fel inträffar under sparandet, tog bort alla filer som sparats för att göra åtgärden atomisk

Returer

Typ Description

den här MLTable-instansen

select_partitions

Lägger till ett transformeringssteg för att välja partitionen.

select_partitions(partition_index_list)

Parametrar

Name Description
partition_index_list
Obligatorisk
list of int

lista över partitionsindex

Returer

Typ Description

MLTable med partitionsstorleken uppdaterad

Kommentarer

Följande kodfragment visar hur du använder select_partitions-API:et till valda partitioner från den angivna MLTable.


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

show

Hämtar de första antal raderna i denna MLTable som en Pandas-dataram.

show(count=20)

Parametrar

Name Description
count
Obligatorisk
int

antal rader överst i tabellen som ska väljas

Returer

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

första antal rader i MLTable

skip

Lägger till ett transformeringssteg för att hoppa över de första antal raderna i denna MLTable.

skip(count)

Parametrar

Name Description
count
Obligatorisk
int

antal rader att hoppa över

Returer

Typ Description

MLTable med det tillagda transformeringssteget

take

Lägger till ett transformeringssteg för att välja de första antal raderna i denna MLTable.

take(count=20)

Parametrar

Name Description
count
Obligatorisk
int

antal rader överst i tabellen som ska väljas

Returer

Typ Description

MLTable med det tillagda steget "ta" transformering

take_random_sample

Lägger till ett transformeringssteg för att slumpmässigt välja varje rad i denna MLTable med sannolikhetschans . Sannolikheten måste vara inom intervallet [0, 1]. Kan också ange ett slumpmässigt frö.

take_random_sample(probability, seed=None)

Parametrar

Name Description
probability
Obligatorisk

chans att varje rad är markerad

seed
Obligatorisk

valfritt slumpmässigt frö

Returer

Typ Description

MLTable med det tillagda transformeringssteget

to_pandas_dataframe

Läs in alla poster från sökvägarna som anges i MLTable-filen till en Pandas DataFrame.

to_pandas_dataframe()

Returer

Typ Description

Pandas Dataframe som innehåller poster från sökvägar i den här MLTable

Kommentarer

Följande kodfragment visar hur du använder to_pandas_dataframe-API:et för att hämta en Pandas-dataram som motsvarar den tillhandahållna MLTable.


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

validate

Verifierar om mlTable-data kan läsas in, kräver att MLTable-datakällorna är tillgängliga från den aktuella beräkningen.

validate()

Returer

Typ Description

Ingen

Attribut

partition_keys

Returnera partitionsnycklarna.

Returer

Typ Description

partitionsnycklarna

paths

Returnerar en lista med ordlistor som innehåller de ursprungliga sökvägarna som angetts för MLTable. Relativa lokala filsökvägar antas vara i förhållande till den katalog där MLTable YAML-filen den här MLTable-instansen lästes in från.

Returer

Typ Description

lista över dikteringar som innehåller sökvägar som anges i MLTable