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.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 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ő
|
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ő
|
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 |
---|---|
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ő
|
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ő
|
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ő
|
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ő
|
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ő
|
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ő
|
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
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 |