Share via


MLTable Osztály

MlTable-t jelöl.

Az MLTable egy lazilyan kiértékelt, nem módosítható műveletsort határoz meg az adatforrásból származó adatok betöltéséhez. Az adatok nem töltődnek be a forrásból, amíg az MLTable nem kéri az adatok továbbítását.

Új MLTable inicializálása.

Ezt a konstruktort nem szabad közvetlenül meghívni. Az MLTable a használatával loadhozható létre.

Öröklődés
builtins.object
MLTable

Konstruktor

MLTable()

Metódusok

convert_column_types

Hozzáad egy átalakítási lépést a megadott oszlopok megfelelő új típussá alakításához.


   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

Egy átalakítási lépés hozzáadásával elveti az adott oszlopokat az adathalmazból. Ha egy üres lista, rekord vagy beállítás nincs megadva, a rendszer nem dob el semmit. Az ismétlődő oszlopok userErrorException értéket adnak.

Ha egy MLTable.traits.timestamp_column vagy MLTable.traits.index_columns oszlopot próbál elvetni, a UserErrorException hibát fog kelteni.

extract_columns_from_partition_format

Hozzáad egy átalakítási lépést az egyes elérési utak partícióadatainak felhasználásához, és kinyeri azokat oszlopokba a megadott partícióformátum alapján.

A(z) "{column_name}" formázási rész sztringoszlopot hoz létre, a "{column_name:yyyy/MM/dd/HH/mm/ss}" pedig datetime oszlopot hoz létre, ahol az "éé", az "MM", a "dd", a "HH", az "mm" és az "ss" függvény a datetime típus év, hónap, nap, óra, perc és másodperc kinyerésére szolgál.

A formátumnak az első partíciókulcs helyzetétől a fájl elérési útjának végéig kell kezdődnie. Például a "/Accounts/2019/01/01/data.csv" elérési út alapján, ahol a partíció részlegnév és idő szerint van megadva, partition_format='/{Department}/{PartitionDate:yy/MM/dd}/data.csv' létrehoz egy "Department" sztringoszlopot "Accounts" értékkel és egy "PartitionDate" datetime oszlopot a "2019-01-01" értékkel.

filter

Szűrje az adatokat, és csak a megadott kifejezésnek megfelelő rekordokat hagyja meg.

get_partition_count

Az MLTable-hoz társított adatok alapjául szolgáló adatpartíciók számát adja eredményül.

keep_columns

Hozzáad egy átalakítási lépést, hogy megtartsa a megadott oszlopokat, és elvetje az összes többit az adathalmazból. Ha egy üres lista, rekord vagy beállítás nincs megadva, a rendszer nem dob el semmit. Az ismétlődő oszlopok userErrorException értéket adnak.

Ha a MLTable.traits.timestamp_column oszlopa vagy a MLTable.traits.index_columns oszlopai nincsenek explicit módon tárolva, a UserErrorException kivétele raiesd.

random_split

Ezt az MLTable-t véletlenszerűen két MLTable-ra osztja fel, amelyek közül az egyik az eredeti MLTable adatainak körülbelül "százaléka", a másik pedig a maradék (1-"százalék") százalékkal rendelkezik.

save

Mentse ezt az MLTable-t MLTable YAML-fájlként, & az adott könyvtár elérési útjának asszociált elérési útjait.

Ha nincs megadva elérési út , az alapértelmezett érték az aktuális munkakönyvtár. Ha az elérési út nem létezik, létrejön. Ha az elérési út távoli, a mögöttes adattárnak már léteznie kell. Ha az elérési út egy helyi könyvtár, & nem abszolút, akkor abszolút lesz.

Ha az elérési út egy fájlra mutat, létrejön egy UserErrorException. Ha az elérési út olyan könyvtár elérési útja, amely már tartalmaz egy vagy több mentett fájlt (beleértve az MLTable YAML-fájlt is), és a felülírás értéke False vagy "fail" (Sikertelen) értékre van állítva , akkor a UserErrorException kifejezés létrejön. Ha az elérési út távoli, a nem megosztott elérési útként megadott helyi fájlelérési utak (az MLTable által betöltött könyvtárhoz viszonyított fájlelérési út) UserErrorException hibát okoznak.

A közös elhelyezés szabályozza, hogy a társított elérési utak hogyan legyenek mentve az elérési útra. Ha igaz, a rendszer relatív fájlelérési útvonalként másolja a fájlokat az MLTable YAML-fájl melletti elérési útra . Ellenkező esetben a társított fájlok nem lesznek másolva, a távoli elérési utak a megadott módon maradnak, és a helyi fájlelérési útvonalak relatívak lesznek, szükség esetén az elérési út átirányításával. Vegye figyelembe, hogy a False nem áthelyezett MLTable YAML-fájlokat eredményezhet, amelyek nem ajánlottak, továbbá ha az elérési út távoli, az UserErrorException hibát eredményez, mivel a relatív elérési út átirányítása nem támogatott a távoli URI-k esetében.

Vegye figyelembe, hogy ha az MLTable programozott módon, például from_paths() vagy from_read_delimited_files() metódusokkal jön létre helyi relatív elérési utakkal, akkor az MLTable könyvtár elérési útja a jelenlegi munkakönyvtár lesz.

Ügyeljen arra, hogy amikor egy új MLTable & társított adatfájlt egy meglévő MLTable-fájllal rendelkező könyvtárba ment, & a társított adatfájlokat, amelyeket a címtár nem töröl a meglévő fájlokból az új fájlok mentése előtt. Lehetséges, hogy a már meglévő adatfájlok megmaradnak az új fájlok mentése után, különösen akkor, ha a meglévő adatfájlok nem rendelkeznek új adatfájlokkal egyező névvel. Ha az új MLTable egy mintatervezőt tartalmaz az elérési útjai alatt, az akaratlanul megváltoztathatja az MLTable-t úgy, hogy meglévő adatfájlokat társít az új MLTable-hoz.

Ha az MLTable fájlelérési útjai egy meglévő fájlra mutatnak az elérési úton , de eltérő URI-juk van, ha a felülírás "sikertelen" vagy "kihagyja" a meglévő fájlt, a rendszer nem írja felül a meglévő fájlt (azaz kihagyja).

select_partitions

Hozzáad egy átalakítási lépést a partíció kiválasztásához.

show

Beolvassa az MLTable első darabsorait Pandas Dataframe-ként.

skip

Hozzáad egy átalakítási lépést az MLTable első darabsorainak kihagyásához.

take

Hozzáad egy átalakítási lépést az MLTable első darabsorainak kiválasztásához.

take_random_sample

Hozzáad egy átalakítási lépést, hogy véletlenszerűen kijelölje ennek az MLTable-nak az egyes sorait valószínűségi lehetőséggel. A valószínűségnek [0, 1] tartományban kell lennie. Opcionálisan beállíthat egy véletlenszerű magot.

to_pandas_dataframe

Töltse be az MLTable-fájlban megadott elérési utak összes rekordját egy Pandas DataFrame-be.

validate

Ellenőrzi, hogy az MLTable adatai betölthetők-e, megköveteli, hogy az MLTable adatforrása(i) elérhetők legyenek az aktuális számításból.

convert_column_types

Hozzáad egy átalakítási lépést a megadott oszlopok megfelelő új típussá alakításához.


   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)

Paraméterek

Name Description
column_types
Kötelező

Az oszlop szótára: a felhasználó átalakítani kívánt típusok

Válaszok

Típus Description

MLTable a hozzáadott átalakítási lépéssel

drop_columns

Egy átalakítási lépés hozzáadásával elveti az adott oszlopokat az adathalmazból. Ha egy üres lista, rekord vagy beállítás nincs megadva, a rendszer nem dob el semmit. Az ismétlődő oszlopok userErrorException értéket adnak.

Ha egy MLTable.traits.timestamp_column vagy MLTable.traits.index_columns oszlopot próbál elvetni, a UserErrorException hibát fog kelteni.

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

Paraméterek

Name Description
columns
Kötelező
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

oszlop(ok) elvetése ebből az MLTable-ból

Válaszok

Típus Description

MLTable a hozzáadott átalakítási lépéssel

extract_columns_from_partition_format

Hozzáad egy átalakítási lépést az egyes elérési utak partícióadatainak felhasználásához, és kinyeri azokat oszlopokba a megadott partícióformátum alapján.

A(z) "{column_name}" formázási rész sztringoszlopot hoz létre, a "{column_name:yyyy/MM/dd/HH/mm/ss}" pedig datetime oszlopot hoz létre, ahol az "éé", az "MM", a "dd", a "HH", az "mm" és az "ss" függvény a datetime típus év, hónap, nap, óra, perc és másodperc kinyerésére szolgál.

A formátumnak az első partíciókulcs helyzetétől a fájl elérési útjának végéig kell kezdődnie. Például a "/Accounts/2019/01/01/data.csv" elérési út alapján, ahol a partíció részlegnév és idő szerint van megadva, partition_format='/{Department}/{PartitionDate:yy/MM/dd}/data.csv' létrehoz egy "Department" sztringoszlopot "Accounts" értékkel és egy "PartitionDate" datetime oszlopot a "2019-01-01" értékkel.

extract_columns_from_partition_format(partition_format)

Paraméterek

Name Description
partition_format
Kötelező
str

Az adatok oszlopokba való kinyeréséhez használható partícióformátum

Válaszok

Típus Description

MLTable, amelynek partícióformátuma adott formátumra van beállítva

filter

Szűrje az adatokat, és csak a megadott kifejezésnek megfelelő rekordokat hagyja meg.

filter(expression)

Paraméterek

Name Description
expression
Kötelező

A kiértékelendő kifejezés.

Válaszok

Típus Description

MLTable szűrő után

Megjegyzések

A kifejezések az mltable oszlopnévvel történő indexelésével kezdődnek. Számos függvényt és operátort támogatnak, és logikai operátorokkal kombinálhatók. Az eredményül kapott kifejezés lazán lesz kiértékelve minden rekord esetében, amikor adat lekérés történik, és nem ott, ahol meg van adva.


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

get_partition_count

Az MLTable-hoz társított adatok alapjául szolgáló adatpartíciók számát adja eredményül.

get_partition_count() -> int

Válaszok

Típus Description
int

adatpartíciók ebben az MLTable-ban

keep_columns

Hozzáad egy átalakítási lépést, hogy megtartsa a megadott oszlopokat, és elvetje az összes többit az adathalmazból. Ha egy üres lista, rekord vagy beállítás nincs megadva, a rendszer nem dob el semmit. Az ismétlődő oszlopok userErrorException értéket adnak.

Ha a MLTable.traits.timestamp_column oszlopa vagy a MLTable.traits.index_columns oszlopai nincsenek explicit módon tárolva, a UserErrorException kivétele raiesd.

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

Paraméterek

Name Description
columns
Kötelező
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

oszlop(ok) ebben az MLTable-ban, hogy megtartsa

Válaszok

Típus Description

MLTable a hozzáadott átalakítási lépéssel

random_split

Ezt az MLTable-t véletlenszerűen két MLTable-ra osztja fel, amelyek közül az egyik az eredeti MLTable adatainak körülbelül "százaléka", a másik pedig a maradék (1-"százalék") százalékkal rendelkezik.

random_split(percent=0.5, seed=None)

Paraméterek

Name Description
percent
Kötelező

az MLTable százaléka, amely között fel szeretne osztani

seed
Kötelező

választható véletlenszerű mag

Válaszok

Típus Description

két MLTable az MLTable adatai között "százalék" szerint

save

Mentse ezt az MLTable-t MLTable YAML-fájlként, & az adott könyvtár elérési útjának asszociált elérési útjait.

Ha nincs megadva elérési út , az alapértelmezett érték az aktuális munkakönyvtár. Ha az elérési út nem létezik, létrejön. Ha az elérési út távoli, a mögöttes adattárnak már léteznie kell. Ha az elérési út egy helyi könyvtár, & nem abszolút, akkor abszolút lesz.

Ha az elérési út egy fájlra mutat, létrejön egy UserErrorException. Ha az elérési út olyan könyvtár elérési útja, amely már tartalmaz egy vagy több mentett fájlt (beleértve az MLTable YAML-fájlt is), és a felülírás értéke False vagy "fail" (Sikertelen) értékre van állítva , akkor a UserErrorException kifejezés létrejön. Ha az elérési út távoli, a nem megosztott elérési útként megadott helyi fájlelérési utak (az MLTable által betöltött könyvtárhoz viszonyított fájlelérési út) UserErrorException hibát okoznak.

A közös elhelyezés szabályozza, hogy a társított elérési utak hogyan legyenek mentve az elérési útra. Ha igaz, a rendszer relatív fájlelérési útvonalként másolja a fájlokat az MLTable YAML-fájl melletti elérési útra . Ellenkező esetben a társított fájlok nem lesznek másolva, a távoli elérési utak a megadott módon maradnak, és a helyi fájlelérési útvonalak relatívak lesznek, szükség esetén az elérési út átirányításával. Vegye figyelembe, hogy a False nem áthelyezett MLTable YAML-fájlokat eredményezhet, amelyek nem ajánlottak, továbbá ha az elérési út távoli, az UserErrorException hibát eredményez, mivel a relatív elérési út átirányítása nem támogatott a távoli URI-k esetében.

Vegye figyelembe, hogy ha az MLTable programozott módon, például from_paths() vagy from_read_delimited_files() metódusokkal jön létre helyi relatív elérési utakkal, akkor az MLTable könyvtár elérési útja a jelenlegi munkakönyvtár lesz.

Ügyeljen arra, hogy amikor egy új MLTable & társított adatfájlt egy meglévő MLTable-fájllal rendelkező könyvtárba ment, & a társított adatfájlokat, amelyeket a címtár nem töröl a meglévő fájlokból az új fájlok mentése előtt. Lehetséges, hogy a már meglévő adatfájlok megmaradnak az új fájlok mentése után, különösen akkor, ha a meglévő adatfájlok nem rendelkeznek új adatfájlokkal egyező névvel. Ha az új MLTable egy mintatervezőt tartalmaz az elérési útjai alatt, az akaratlanul megváltoztathatja az MLTable-t úgy, hogy meglévő adatfájlokat társít az új MLTable-hoz.

Ha az MLTable fájlelérési útjai egy meglévő fájlra mutatnak az elérési úton , de eltérő URI-juk van, ha a felülírás "sikertelen" vagy "kihagyja" a meglévő fájlt, a rendszer nem írja felül a meglévő fájlt (azaz kihagyja).

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

Paraméterek

Name Description
path
Kötelező
str

könyvtár elérési útja, amelybe menthető, alapértelmezetten az aktuális munkakönyvtárba

colocated
Kötelező

Ha igaz, relatív elérési útként menti a helyi & távoli fájlelérési utak másolatát ebben az MLTable-ban az elérési út alatt. Ellenkező esetben nem történik fájlmásolás, és a távoli fájlelérési útvonalak a mentett MLTable YAML-fájlnak és a helyi fájlelérési útvonalaknak megfelelően vannak mentve relatív fájlelérési utakként, elérésiút-átirányítással. Ha az elérési út távoli & ez az MLTable helyi fájlelérési utakat tartalmaz, a UserErrorException létrejön.

overwrite
Kötelező
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

Hogyan kezelik a meglévő MLTable YAML-fájlokat és az elérési út alatt esetleg már létező társított fájlokat. A lehetőségek a "felülírás" (vagy True) a meglévő fájlok lecseréléséhez, a "fail" (vagy False) a hiba elhárításához, ha egy fájl már létezik, vagy a "kihagyás" a meglévő fájloknak a jelenlegi állapotban való elhagyásához. A beállítás értéke is lehet <xref:mltable.MLTableSaveOverwriteOptions>.

show_progress
Kötelező

a folyamat stdoutba másolásának megjelenítése

if_err_remove_files
Kötelező

ha hiba történik a mentés során, távolítsa el a sikeresen mentett fájlokat, hogy a művelet atomi legyen

Válaszok

Típus Description

ez az MLTable-példány

select_partitions

Hozzáad egy átalakítási lépést a partíció kiválasztásához.

select_partitions(partition_index_list)

Paraméterek

Name Description
partition_index_list
Kötelező
list of int

partícióindex listája

Válaszok

Típus Description

MLTable a partíció méretének frissítésével

Megjegyzések

Az alábbi kódrészlet bemutatja, hogyan használhatja a select_partitions api-t a megadott MLTable kiválasztott partícióihoz.


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

show

Beolvassa az MLTable első darabsorait Pandas Dataframe-ként.

show(count=20)

Paraméterek

Name Description
count
Kötelező
int

a táblázat tetején lévő sorok száma a kijelöléshez

Válaszok

Típus Description
<xref:Pandas> <xref:Dataframe>

az MLTable első sorainak megszámlálása

skip

Hozzáad egy átalakítási lépést az MLTable első darabsorainak kihagyásához.

skip(count)

Paraméterek

Name Description
count
Kötelező
int

kihagyandó sorok száma

Válaszok

Típus Description

MLTable a hozzáadott átalakítási lépéssel

take

Hozzáad egy átalakítási lépést az MLTable első darabsorainak kiválasztásához.

take(count=20)

Paraméterek

Name Description
count
Kötelező
int

a táblázat tetején lévő sorok száma a kijelöléshez

Válaszok

Típus Description

MLTable a hozzáadott "take" átalakítási lépéssel

take_random_sample

Hozzáad egy átalakítási lépést, hogy véletlenszerűen kijelölje ennek az MLTable-nak az egyes sorait valószínűségi lehetőséggel. A valószínűségnek [0, 1] tartományban kell lennie. Opcionálisan beállíthat egy véletlenszerű magot.

take_random_sample(probability, seed=None)

Paraméterek

Name Description
probability
Kötelező

esély arra, hogy minden sor ki legyen jelölve

seed
Kötelező

választható véletlenszerű mag

Válaszok

Típus Description

MLTable a hozzáadott átalakítási lépéssel

to_pandas_dataframe

Töltse be az MLTable-fájlban megadott elérési utak összes rekordját egy Pandas DataFrame-be.

to_pandas_dataframe()

Válaszok

Típus Description

Az MLTable elérési útjaiból származó rekordokat tartalmazó Pandas Dataframe

Megjegyzések

Az alábbi kódrészlet bemutatja, hogyan használható az to_pandas_dataframe API a megadott MLTable-nak megfelelő pandas-adatkeret beszerzésére.


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

validate

Ellenőrzi, hogy az MLTable adatai betölthetők-e, megköveteli, hogy az MLTable adatforrása(i) elérhetők legyenek az aktuális számításból.

validate()

Válaszok

Típus Description

None

Attribútumok

partition_keys

Adja vissza a partíciókulcsokat.

Válaszok

Típus Description

a partíciókulcsok

paths

Az MLTable-nak adott eredeti elérési utakat tartalmazó szótárak listáját adja vissza. A relatív helyi fájlelérési utak feltételezik, hogy ahhoz a könyvtárhoz viszonyítva vannak, amelyből az MLTable-példány mlTable YAML-fájlja be lett töltve.

Válaszok

Típus Description

az MLTable-ban megadott elérési utakat tartalmazó diktálások listája