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.objectMLTable
Konstruktor
MLTable()
Metoder
convert_column_types |
Lägger till ett transformeringssteg för att konvertera de angivna kolumnerna till deras respektive angivna nya typer.
|
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
|
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
|
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 |
---|---|
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
|
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
|
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
|
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
|
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
|
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
|
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
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 |