Megosztás a következőn keresztül:


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.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 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ő
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

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

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ő
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

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

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ő
list of int

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

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

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

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

Adja vissza a partíciókulcsokat.

Válaszok

Típus Description

a partíciókulcsok

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