MLTable Osztály
MlTable-t jelöl.
Az MLTable lustán kiértékelt, nem módosítható műveletek sorozatát határozza 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 átadá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.objectMLTable
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.
|
drop_columns |
Egy átalakítási lépés hozzáadásával elveti a megadott oszlopokat az adathalmazból. Ha üres listát, rekordot vagy halmazt ad meg, a rendszer nem dob el semmit. Az ismétlődő oszlopok UserErrorException kivételt fognak létrehozni. Ha egy MLTable.traits.timestamp_column vagy MLTable.traits.index_columns oszlopot próbál elvetni, userErrorException kivételt fog létrehozni. |
extract_columns_from_partition_format |
Hozzáad egy átalakítási lépést az egyes elérési utak partícióinformációinak használatá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 "éé", "MM", "dd", "HH", "mm" és "ss" értékek a dátum/idő típus év, hónap, nap, óra, perc és másodperc kinyerésére szolgálnak. A formátumnak az első partíciókulcs helyé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:yyyy/MM/dd}/data.csv' létrehoz egy "Department" sztringoszlopot a "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 vissza. |
keep_columns |
Hozzáad egy átalakítási lépést, amely megőrzi a megadott oszlopokat, és elveti az összes többit az adathalmazból. Ha üres listát, rekordot vagy halmazt ad meg, a rendszer nem dob el semmit. Az ismétlődő oszlopok UserErrorException kivételt fognak létrehozni. Ha a MLTable.traits.timestamp_column oszlopa vagy a MLTable.traits.index_columns oszlopai nincsenek explicit módon megtartva, a UserErrorException kivételt a rendszer nem tartja meg. |
random_split |
Ezt az MLTable-t véletlenszerűen két MLTable táblára osztja fel, amelyek közül az egyik az eredeti MLTable adatainak körülbelül "százalékában", a másikban pedig a maradék (1-"százalék") található. |
save |
Mentse ezt az MLTable-t MLTable YAML-fájlként, & az adott könyvtár elérési útjának assoicated elérési útját. Ha az elérési út nincs megadva, az alapértelmezett érték az aktuális munkakönyvtár. Ha az elérési út nem létezik, akkor 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, a UserErrorException kivétel keletkezik. Ha az elérési út olyan könyvtárelérési út, 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 (Hamis) vagy "Fail" (Sikertelen) – a rendszer userErrorException kivételt hoz létre. 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 kivételt okoznak. A colocated azt 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 útként másolja a fájlokat az MLTable YAML-fájl melletti elérési útra . Ellenkező esetben a társított fájlok másolása nem történik meg, a távoli elérési utak a megadott módon maradnak, és a helyi fájlelérési utak relatívak lesznek, szükség esetén az elérési út átirányításával. Vegye figyelembe, hogy a False nem kiosztott MLTable YAML-fájlokat eredményezhet, ami nem ajánlott, továbbá ha az elérési út távoli, ez UserErrorException kivételt eredményez, mivel távoli URI-k esetében a relatív elérési út átirányítása nem támogatott. Vegye figyelembe, hogy ha az MLTable programozott módon jön létre olyan metódusokkal, mint from_paths () vagy from_read_delimited_files() helyi relatív elérési utakkal, akkor az MLTable könyvtár elérési útja az aktuális munkakönyvtár lesz. Vegye figyelembe, ha egy új MLTable & a társított adatfájlokat egy meglévő MLTable-fájllal rendelkező könyvtárba menti, & társított adatfájlokat, amelyeket az új fájlok mentése előtt a könyvtár nem töröl a meglévő fájlokból. 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 mintakijelölőt tartalmaz az elérési útjai alatt, ez akaratlanul megváltoztathatja az MLTable-t úgy, hogy meglévő adatfájlokat társít az új MLTable táblához. Ha az MLTable fájlelérési útjai egy meglévő fájlra mutatnak az elérési úton , de eltérő URI-kkal rendelkeznek, ha a felülírás "fail" vagy "skip" (kihagyás) a meglévő fájlt nem írja felül (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, amellyel véletlenszerűen kijelölheti ennek az MLTable-nak az egyes sorait valószínűségi eséllyel . 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ó konvertálni kívánt típusok |
Válaszok
Típus | Description |
---|---|
MLTable hozzáadott átalakítási lépéssel |
drop_columns
Egy átalakítási lépés hozzáadásával elveti a megadott oszlopokat az adathalmazból. Ha üres listát, rekordot vagy halmazt ad meg, a rendszer nem dob el semmit. Az ismétlődő oszlopok UserErrorException kivételt fognak létrehozni.
Ha egy MLTable.traits.timestamp_column vagy MLTable.traits.index_columns oszlopot próbál elvetni, userErrorException kivételt fog létrehozni.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Paraméterek
Name | Description |
---|---|
columns
Kötelező
|
ettől az MLTable-tól elvetendő oszlop(ok) |
Válaszok
Típus | Description |
---|---|
MLTable 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óinformációinak használatá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 "éé", "MM", "dd", "HH", "mm" és "ss" értékek a dátum/idő típus év, hónap, nap, óra, perc és másodperc kinyerésére szolgálnak.
A formátumnak az első partíciókulcs helyé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:yyyy/MM/dd}/data.csv' létrehoz egy "Department" sztringoszlopot a "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ő
|
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 való 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 rekordhoz adat lekéréskor, és nem ott, ahol meg van határozva.
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 vissza.
get_partition_count() -> int
Válaszok
Típus | Description |
---|---|
adatpartíciók ebben az MLTable-ban |
keep_columns
Hozzáad egy átalakítási lépést, amely megőrzi a megadott oszlopokat, és elveti az összes többit az adathalmazból. Ha üres listát, rekordot vagy halmazt ad meg, a rendszer nem dob el semmit. Az ismétlődő oszlopok UserErrorException kivételt fognak létrehozni.
Ha a MLTable.traits.timestamp_column oszlopa vagy a MLTable.traits.index_columns oszlopai nincsenek explicit módon megtartva, a UserErrorException kivételt a rendszer nem tartja meg.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Paraméterek
Name | Description |
---|---|
columns
Kötelező
|
oszlop(ok) ebben az MLTable-ban a megtartandó |
Válaszok
Típus | Description |
---|---|
MLTable hozzáadott átalakítási lépéssel |
random_split
Ezt az MLTable-t véletlenszerűen két MLTable táblára osztja fel, amelyek közül az egyik az eredeti MLTable adatainak körülbelül "százalékában", a másikban pedig a maradék (1-"százalék") található.
random_split(percent=0.5, seed=None)
Paraméterek
Name | Description |
---|---|
percent
Kötelező
|
az MLTable százalékában, amely között fel kell osztani |
seed
Kötelező
|
választható véletlenszerű mag |
Válaszok
Típus | Description |
---|---|
két MLTable- és ez az MLTable-adatok "százalék" szerint vannak elosztva közöttük |
save
Mentse ezt az MLTable-t MLTable YAML-fájlként, & az adott könyvtár elérési útjának assoicated elérési útját.
Ha az elérési út nincs megadva, az alapértelmezett érték az aktuális munkakönyvtár. Ha az elérési út nem létezik, akkor 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, a UserErrorException kivétel keletkezik. Ha az elérési út olyan könyvtárelérési út, 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 (Hamis) vagy "Fail" (Sikertelen) – a rendszer userErrorException kivételt hoz létre. 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 kivételt okoznak.
A colocated azt 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 útként másolja a fájlokat az MLTable YAML-fájl melletti elérési útra . Ellenkező esetben a társított fájlok másolása nem történik meg, a távoli elérési utak a megadott módon maradnak, és a helyi fájlelérési utak relatívak lesznek, szükség esetén az elérési út átirányításával. Vegye figyelembe, hogy a False nem kiosztott MLTable YAML-fájlokat eredményezhet, ami nem ajánlott, továbbá ha az elérési út távoli, ez UserErrorException kivételt eredményez, mivel távoli URI-k esetében a relatív elérési út átirányítása nem támogatott.
Vegye figyelembe, hogy ha az MLTable programozott módon jön létre olyan metódusokkal, mint from_paths () vagy from_read_delimited_files() helyi relatív elérési utakkal, akkor az MLTable könyvtár elérési útja az aktuális munkakönyvtár lesz.
Vegye figyelembe, ha egy új MLTable & a társított adatfájlokat egy meglévő MLTable-fájllal rendelkező könyvtárba menti, & társított adatfájlokat, amelyeket az új fájlok mentése előtt a könyvtár nem töröl a meglévő fájlokból. 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 mintakijelölőt tartalmaz az elérési útjai alatt, ez akaratlanul megváltoztathatja az MLTable-t úgy, hogy meglévő adatfájlokat társít az új MLTable táblához.
Ha az MLTable fájlelérési útjai egy meglévő fájlra mutatnak az elérési úton , de eltérő URI-kkal rendelkeznek, ha a felülírás "fail" vagy "skip" (kihagyás) a meglévő fájlt nem írja felül (azaz kihagyja).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Paraméterek
Name | Description |
---|---|
path
Kötelező
|
könyvtár elérési útja, alapértelmezettként 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ásolatait ebben az MLTable-ban. Ellenkező esetben nem történik fájlmásolás, és a rendszer a mentett MLTable YAML-fájlnak és a helyi fájlelérési utaknak megfelelően menti a távoli fájlelérési utakat relatív fájlelérési útként az elérési út átirányításával. Ha az elérési út távoli & ez az MLTable helyi fájlelérési utakat tartalmaz, a UserErrorException kivétel lép fel. |
overwrite
Kötelező
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Hogyan kezeli a rendszer a meglévő MLTable YAML-fájlokat és a társított fájlokat, amelyek már létezhetnek az elérési út alatt. A beállítások a meglévő fájlok felülírása (vagy Igaz), a "fail" (sikertelen) (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 következővel <xref:mltable.MLTableSaveOverwriteOptions>is beállítható: . |
show_progress
Kötelező
|
a folyamat stdoutra másolását jeleníti meg |
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ő
|
partícióindexek listája |
Válaszok
Típus | Description |
---|---|
MLTable frissítve a partíciómérettel |
Megjegyzések
Az alábbi kódrészlet bemutatja, hogyan használhatja a select_partitions API-t a megadott MLTable-ból kiválasztott partíciókhoz.
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ő
|
a kijelölendő sorok száma a táblázat tetején |
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ő
|
kihagyandó sorok száma |
Válaszok
Típus | Description |
---|---|
MLTable 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ő
|
a kijelölendő sorok száma a táblázat tetején |
Válaszok
Típus | Description |
---|---|
MLTable hozzáadott "take" átalakítási lépéssel |
take_random_sample
Hozzáad egy átalakítási lépést, amellyel véletlenszerűen kijelölheti ennek az MLTable-nak az egyes sorait valószínűségi eséllyel . 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ő
|
véletlen, hogy minden sor ki van jelölve |
seed
Kötelező
|
választható véletlenszerű mag |
Válaszok
Típus | Description |
---|---|
MLTable 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 szerezhet be egy, a megadott MLTable-nak megfelelő pandas-adatkeretet az to_pandas_dataframe API használatával.
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
paths
Visszaadja az MLTable eredeti elérési útját tartalmazó szótárak listáját. A relatív helyi fájlelérési utak a könyvtárhoz viszonyítva jelennek meg, amelyből az MLTable-példány betöltődött.
Válaszok
Típus | Description |
---|---|
az MLTable-ban megadott elérési utakat tartalmazó diktálások listája |