MLTable Klass
Representerar en MLTable.
En MLTable definierar en serie lazily-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
Konstruktor
MLTable()
Metoder
| convert_column_types |
Lägger till ett transformeringssteg för att konvertera de angivna kolumnerna till 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 inte ges 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 i kolumner baserat på det angivna partitionsformatet. Formatdelen {column_name} skapar strängkolumnen och {column_name:å/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 datumtidstypen. 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 inte ges 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 upp denna MLTable i två MLTables, en med cirka "procent"% av den ursprungliga MLTables data och den andra har resten (1 procent"%). |
| save |
Spara MLTable som en MLTable YAML-fil och dess associerade sökvägar till den angivna katalogsökvägen. Om sökvägen inte anges är standardinställningen den aktuella arbetskatalogen. 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 och inte är absolut görs den absolut. Om sökvägen pekar på en fil genereras 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å False eller "fail" – 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 true 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 omdirigering av sökvägar om det behövs. Observera att False kan resultera i icke-lokaliserade MLTable YAML-filer som inte rekommenderas, och om sökvägen är fjärransluten resulterar detta i en UserErrorException eftersom relativ omdirigering av sökvägar inte stöds för fjärranslutna 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 och associerade datafiler till en katalog med en befintlig MLTable-fil och 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 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.If the new MLTable contains a pattern designator under its paths, this may unintentionally alter the MLTable by associating existing data files with the new 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 (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 MLTables datakällor ä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 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ändarens önskemål om att 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 inte ges 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 i kolumner baserat på det angivna partitionsformatet.
Formatdelen {column_name} skapar strängkolumnen och {column_name:å/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 datumtidstypen.
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 att mltable indexeras med namnet på en kolumn. De stöder en mängd olika funktioner och operatorer och kan kombineras med hjälp av logiska operatorer. Det resulterande uttrycket utvärderas lättsinnigt för varje post när en datahämtning inträffar 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 inte ges 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 upp denna MLTable i två MLTables, en med cirka "procent"% av den ursprungliga MLTables 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 MLTables data uppdelade mellan dem med "procent" |
save
Spara MLTable som en MLTable YAML-fil och dess associerade sökvägar till den angivna katalogsökvägen.
Om sökvägen inte anges är standardinställningen den aktuella arbetskatalogen. 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 och inte är absolut görs den absolut.
Om sökvägen pekar på en fil genereras 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å False eller "fail" – 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 true 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 omdirigering av sökvägar om det behövs. Observera att False kan resultera i icke-lokaliserade MLTable YAML-filer som inte rekommenderas, och om sökvägen är fjärransluten resulterar detta i en UserErrorException eftersom relativ omdirigering av sökvägar inte stöds för fjärranslutna 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 och associerade datafiler till en katalog med en befintlig MLTable-fil och 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 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.If the new MLTable contains a pattern designator under its paths, this may unintentionally alter the MLTable by associating existing data files with the new 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 (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 true sparas kopior av lokala och fjärranslutna filsö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 enligt den sparade MLTable YAML-filen och lokala filsökvägar som relativa filsökvägar med omdirigering av sökvägar. Om sökvägen är fjärransluten och den här MLTable-filen innehåller lokala filsökvägar, utlöses 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 besparingen, 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 api:et select_partitions till valda partitioner från den angivna MLTable-filen.
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
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-dataram som innehåller posterna från sökvägar i den här MLTable-filen |
Kommentarer
Följande kodfragment visar hur du använder api:et to_pandas_dataframe för att hämta en Pandas-dataram som motsvarar den angivna 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 MLTables datakällor är tillgängliga från den aktuella beräkningen.
validate()
Returer
| Typ | Description |
|---|---|
|
Ingen |
Attribut
paths
Returnerar en lista med ordlistor som innehåller de ursprungliga sökvägarna som ges till den här MLTable-tabellen. Relativa lokala filsökvägar antas vara relativa 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 |