MLTable Classe
Rappresenta una tabella MLTable.
Una tabella MLTable definisce una serie di operazioni non modificabili valutate in modo differito per caricare i dati dall'origine dati. I dati non vengono caricati dall'origine fino a quando non viene richiesto a MLTable di recapitare i dati.
Inizializzare una nuova tabella MLTable.
Questo costruttore non deve essere richiamato direttamente. MLTable deve essere creato con load.
- Ereditarietà
-
builtins.objectMLTable
Costruttore
MLTable()
Metodi
convert_column_types |
Aggiunge un passaggio di trasformazione per convertire le colonne specificate nei rispettivi nuovi tipi specificati.
|
drop_columns |
Aggiunge un passaggio di trasformazione per eliminare le colonne specificate dal set di dati. Se non viene eliminato alcun elenco, una tupla o un set vuoto. Le colonne duplicate genereranno un'eccezione UserErrorException. Se si tenta di eliminare una colonna MLTable.traits.timestamp_column o in MLTable.traits.index_columns, verrà generata un'eccezione UserErrorException. |
extract_columns_from_partition_format |
Aggiunge un passaggio di trasformazione per usare le informazioni sulla partizione di ogni percorso ed estrarle in colonne in base al formato di partizione specificato. La parte di formato '{column_name}' crea una colonna stringa e '{column_name:a/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'aaaa', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora, minuto e secondo per il tipo datetime. Il formato deve iniziare dalla posizione della prima chiave di partizione fino alla fine del percorso del file. Ad esempio, dato il percorso '/Accounts/2019/01/01/data.csv' in cui la partizione è in base al nome e all'ora del reparto, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' crea una colonna stringa 'Department' con il valore 'Accounts' e una colonna datetime 'PartitionDate' con il valore '2019-01-01'. |
filter |
Filtrare i dati, lasciando solo i record che corrispondono all'espressione specificata. |
get_partition_count |
Restituisce il numero di partizioni di dati sottostanti i dati associati a questa tabella MLTable. |
keep_columns |
Aggiunge un passaggio di trasformazione per mantenere le colonne specificate ed eliminare tutte le altre dal set di dati. Se non viene eliminato alcun elenco, una tupla o un set vuoto. Le colonne duplicate genereranno un'eccezione UserErrorException. Se la colonna in MLTable.traits.timestamp_column o colonne in MLTable.traits.index_columns non viene mantenuta in modo esplicito, viene eseguita un'eccezione UserErrorException. |
random_split |
Suddivide in modo casuale questo MLTable in due MLTable, uno con circa "percentuale"% dei dati di MLTable originali e l'altro con il resto (1-"percent"%). |
save |
Salvare questo OGGETTO MLTable come file YAML MLTable & i relativi percorsi associati al percorso di directory specificato. Se il percorso non viene specificato, il valore predefinito è la directory di lavoro corrente. Se il percorso non esiste, viene creato. Se il percorso è remoto, l'archivio dati sottostante deve esistere già. Se path è una directory locale & non è assoluto, viene reso assoluto. Se il percorso punta a un file, viene generata un'eccezione UserErrorException. Se path è un percorso di directory che contiene già uno o più file da salvare (incluso il file YAML MLTable) e la sovrascrittura è impostata su False o "fail". Viene generata un'eccezione UserErrorException. Se il percorso è remoto, tutti i percorsi di file locali non specificati come percorso condiviso (percorso file relativo alla directory da cui è stato caricato MLTable) genererà un'eccezione UserErrorException. il percorso condiviso controlla la modalità di salvataggio dei percorsi associati nel percorso. Se True, i file vengono copiati nel percorso insieme al file YAML MLTable come percorsi di file relativi. In caso contrario, i file associati non vengono copiati, i percorsi remoti rimangono come specificati e i percorsi dei file locali vengono resi relativi al reindirizzamento del percorso, se necessario. Si noti che False può comportare file YAML MLTable non con punti che non sono consigliati, inoltre, se il percorso è remoto, verrà generata un'eccezione UserErrorException perché il reindirizzamento del percorso relativo non è supportato per gli URI remoti. Si noti che se MLTable viene creato a livello di codice con metodi come from_paths() o from_read_delimited_files() con percorsi relativi locali, si presuppone che il percorso della directory MLTable sia la directory di lavoro corrente. Tenere presente quando si salva un nuovo oggetto MLTable & file di dati associati in una directory con un file MLTable esistente & file di dati associati che la directory non viene cancellata dai file esistenti prima di salvare i nuovi file. È possibile che i file di dati già esistenti vengano salvati in modo permanente dopo il salvataggio dei nuovi file, soprattutto se i file di dati esistenti non hanno nomi corrispondenti a nuovi file di dati. Se la nuova tabella MLTable contiene un designatore di pattern nei relativi percorsi, questo può modificare involontariamente MLTable associando i file di dati esistenti alla nuova tabella MLTable. Se i percorsi di file in questo MLTable puntano a un file esistente nel percorso ma hanno un URI diverso, se la sovrascrittura è "fail" o "skip" il file esistente non verrà sovrascritto (ad esempio ignorato). |
select_partitions |
Aggiunge un passaggio di trasformazione per selezionare la partizione. |
show |
Recupera le prime righe del conteggio di questa tabella MLTable come dataframe Pandas. |
skip |
Aggiunge un passaggio di trasformazione per ignorare le prime righe del conteggio di questa tabella MLTable. |
take |
Aggiunge un passaggio di trasformazione per selezionare le prime righe del conteggio di questa tabella MLTable. |
take_random_sample |
Aggiunge un passaggio di trasformazione per selezionare in modo casuale ogni riga di questa tabella MLTable con probabilità . La probabilità deve essere compreso nell'intervallo [0, 1]. Facoltativamente, è possibile impostare un valore di inizializzazione casuale. |
to_pandas_dataframe |
Caricare tutti i record dai percorsi specificati nel file MLTable in un dataframe Pandas. |
validate |
Verifica se i dati di MLTable possono essere caricati, richiede che le origini dati di MLTable siano accessibili dal calcolo corrente. |
convert_column_types
Aggiunge un passaggio di trasformazione per convertire le colonne specificate nei rispettivi nuovi tipi specificati.
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)
Parametri
Nome | Descrizione |
---|---|
column_types
Necessario
|
Dizionario di colonna: digita il desiderio dell'utente di convertire |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con passaggio di trasformazione aggiunto |
drop_columns
Aggiunge un passaggio di trasformazione per eliminare le colonne specificate dal set di dati. Se non viene eliminato alcun elenco, una tupla o un set vuoto. Le colonne duplicate genereranno un'eccezione UserErrorException.
Se si tenta di eliminare una colonna MLTable.traits.timestamp_column o in MLTable.traits.index_columns, verrà generata un'eccezione UserErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametri
Nome | Descrizione |
---|---|
columns
Necessario
|
colonne da eliminare da mlTable |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con passaggio di trasformazione aggiunto |
extract_columns_from_partition_format
Aggiunge un passaggio di trasformazione per usare le informazioni sulla partizione di ogni percorso ed estrarle in colonne in base al formato di partizione specificato.
La parte di formato '{column_name}' crea una colonna stringa e '{column_name:a/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'aaaa', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora, minuto e secondo per il tipo datetime.
Il formato deve iniziare dalla posizione della prima chiave di partizione fino alla fine del percorso del file. Ad esempio, dato il percorso '/Accounts/2019/01/01/data.csv' in cui la partizione è in base al nome e all'ora del reparto, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' crea una colonna stringa 'Department' con il valore 'Accounts' e una colonna datetime 'PartitionDate' con il valore '2019-01-01'.
extract_columns_from_partition_format(partition_format)
Parametri
Nome | Descrizione |
---|---|
partition_format
Necessario
|
Formato di partizione da usare per estrarre dati in colonne |
Restituisce
Tipo | Descrizione |
---|---|
MLTable il cui formato di partizione è impostato su un formato specificato |
filter
Filtrare i dati, lasciando solo i record che corrispondono all'espressione specificata.
filter(expression)
Parametri
Nome | Descrizione |
---|---|
expression
Necessario
|
Espressione da valutare. |
Restituisce
Tipo | Descrizione |
---|---|
MLTable dopo il filtro |
Commenti
Le espressioni vengono avviate tramite l'indicizzazione della tabella mltable con il nome di una colonna. Supportano un'ampia gamma di funzioni e operatori e possono essere combinati usando operatori logici. L'espressione risultante verrà valutata in modo differito per ogni record quando si verifica un pull dei dati e non la posizione in cui è definita.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Restituisce il numero di partizioni di dati sottostanti i dati associati a questa tabella MLTable.
get_partition_count() -> int
Restituisce
Tipo | Descrizione |
---|---|
partizioni di dati in questa tabella MLTable |
keep_columns
Aggiunge un passaggio di trasformazione per mantenere le colonne specificate ed eliminare tutte le altre dal set di dati. Se non viene eliminato alcun elenco, una tupla o un set vuoto. Le colonne duplicate genereranno un'eccezione UserErrorException.
Se la colonna in MLTable.traits.timestamp_column o colonne in MLTable.traits.index_columns non viene mantenuta in modo esplicito, viene eseguita un'eccezione UserErrorException.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametri
Nome | Descrizione |
---|---|
columns
Necessario
|
colonne in questa tabella MLTable da mantenere |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con passaggio di trasformazione aggiunto |
random_split
Suddivide in modo casuale questo MLTable in due MLTable, uno con circa "percentuale"% dei dati di MLTable originali e l'altro con il resto (1-"percent"%).
random_split(percent=0.5, seed=None)
Parametri
Nome | Descrizione |
---|---|
percent
Necessario
|
percentuale di MLTable da dividere tra |
seed
Necessario
|
valore di inizializzazione casuale facoltativo |
Restituisce
Tipo | Descrizione |
---|---|
due MLTable con i dati di MLTable suddivisi tra di essi per "percentuale" |
save
Salvare questo OGGETTO MLTable come file YAML MLTable & i relativi percorsi associati al percorso di directory specificato.
Se il percorso non viene specificato, il valore predefinito è la directory di lavoro corrente. Se il percorso non esiste, viene creato. Se il percorso è remoto, l'archivio dati sottostante deve esistere già. Se path è una directory locale & non è assoluto, viene reso assoluto.
Se il percorso punta a un file, viene generata un'eccezione UserErrorException. Se path è un percorso di directory che contiene già uno o più file da salvare (incluso il file YAML MLTable) e la sovrascrittura è impostata su False o "fail". Viene generata un'eccezione UserErrorException. Se il percorso è remoto, tutti i percorsi di file locali non specificati come percorso condiviso (percorso file relativo alla directory da cui è stato caricato MLTable) genererà un'eccezione UserErrorException.
il percorso condiviso controlla la modalità di salvataggio dei percorsi associati nel percorso. Se True, i file vengono copiati nel percorso insieme al file YAML MLTable come percorsi di file relativi. In caso contrario, i file associati non vengono copiati, i percorsi remoti rimangono come specificati e i percorsi dei file locali vengono resi relativi al reindirizzamento del percorso, se necessario. Si noti che False può comportare file YAML MLTable non con punti che non sono consigliati, inoltre, se il percorso è remoto, verrà generata un'eccezione UserErrorException perché il reindirizzamento del percorso relativo non è supportato per gli URI remoti.
Si noti che se MLTable viene creato a livello di codice con metodi come from_paths() o from_read_delimited_files() con percorsi relativi locali, si presuppone che il percorso della directory MLTable sia la directory di lavoro corrente.
Tenere presente quando si salva un nuovo oggetto MLTable & file di dati associati in una directory con un file MLTable esistente & file di dati associati che la directory non viene cancellata dai file esistenti prima di salvare i nuovi file. È possibile che i file di dati già esistenti vengano salvati in modo permanente dopo il salvataggio dei nuovi file, soprattutto se i file di dati esistenti non hanno nomi corrispondenti a nuovi file di dati. Se la nuova tabella MLTable contiene un designatore di pattern nei relativi percorsi, questo può modificare involontariamente MLTable associando i file di dati esistenti alla nuova tabella MLTable.
Se i percorsi di file in questo MLTable puntano a un file esistente nel percorso ma hanno un URI diverso, se la sovrascrittura è "fail" o "skip" il file esistente non verrà sovrascritto (ad esempio ignorato).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Parametri
Nome | Descrizione |
---|---|
path
Necessario
|
percorso della directory in cui salvare, per impostazione predefinita alla directory di lavoro corrente |
colocated
Necessario
|
Se True, salva copie di percorsi di file locali & remoti in questa tabella MLTable nel percorso come percorsi relativi. In caso contrario, non viene eseguita alcuna copia di file e i percorsi di file remoti vengono salvati come specificati nel file YAML MLTable salvato e nei percorsi di file locali come percorsi di file relativi con reindirizzamento del percorso. Se il percorso è remoto & questa tabella MLTable contiene percorsi di file locali, verrà generata un'eccezione UserErrorException. |
overwrite
Necessario
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Viene gestito il modo in cui vengono gestiti un file YAML MLTable e i file associati già esistenti nel percorso . Le opzioni sono "sovrascrivi" (o True) per sostituire eventuali file esistenti, "fail" (o False) per generare un errore se esiste già un file o "skip" per lasciare invariati i file esistenti. Può anche essere impostato con <xref:mltable.MLTableSaveOverwriteOptions>. |
show_progress
Necessario
|
visualizza lo stato di avanzamento della copia in stdout |
if_err_remove_files
Necessario
|
se si verifica un errore durante il salvataggio, rimosso tutti i file salvati correttamente per rendere atomica l'operazione |
Restituisce
Tipo | Descrizione |
---|---|
questa istanza di MLTable |
select_partitions
Aggiunge un passaggio di trasformazione per selezionare la partizione.
select_partitions(partition_index_list)
Parametri
Nome | Descrizione |
---|---|
partition_index_list
Necessario
|
elenco dell'indice di partizione |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con dimensioni della partizione aggiornate |
Commenti
Il frammento di codice seguente illustra come usare l'API select_partitions per selezionare le partizioni dalla tabella MLTable fornita.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Recupera le prime righe del conteggio di questa tabella MLTable come dataframe Pandas.
show(count=20)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
numero di righe dall'inizio della tabella da selezionare |
Restituisce
Tipo | Descrizione |
---|---|
<xref:Pandas> <xref:Dataframe>
|
first count rows of the MLTable |
skip
Aggiunge un passaggio di trasformazione per ignorare le prime righe del conteggio di questa tabella MLTable.
skip(count)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
numero di righe da ignorare |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con passaggio di trasformazione aggiunto |
take
Aggiunge un passaggio di trasformazione per selezionare le prime righe del conteggio di questa tabella MLTable.
take(count=20)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
numero di righe dall'inizio della tabella da selezionare |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con passaggio di trasformazione "take" aggiunto |
take_random_sample
Aggiunge un passaggio di trasformazione per selezionare in modo casuale ogni riga di questa tabella MLTable con probabilità . La probabilità deve essere compreso nell'intervallo [0, 1]. Facoltativamente, è possibile impostare un valore di inizializzazione casuale.
take_random_sample(probability, seed=None)
Parametri
Nome | Descrizione |
---|---|
probability
Necessario
|
possibilità che ogni riga sia selezionata |
seed
Necessario
|
valore di inizializzazione casuale facoltativo |
Restituisce
Tipo | Descrizione |
---|---|
MLTable con passaggio di trasformazione aggiunto |
to_pandas_dataframe
Caricare tutti i record dai percorsi specificati nel file MLTable in un dataframe Pandas.
to_pandas_dataframe()
Restituisce
Tipo | Descrizione |
---|---|
Dataframe Pandas contenente i record dai percorsi in questa tabella MLTable |
Commenti
Il frammento di codice seguente illustra come usare l'API to_pandas_dataframe per ottenere un dataframe pandas corrispondente all'oggetto MLTable fornito.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
Verifica se i dati di MLTable possono essere caricati, richiede che le origini dati di MLTable siano accessibili dal calcolo corrente.
validate()
Restituisce
Tipo | Descrizione |
---|---|
Nessuno |
Attributi
partition_keys
paths
Restituisce un elenco di dizionari contenenti i percorsi originali assegnati a questa tabella MLTable. Si presuppone che i percorsi dei file locali relativi siano relativi alla directory da cui è stato caricato il file YAML MLTable da cui è stata caricata l'istanza MLTable.
Restituisce
Tipo | Descrizione |
---|---|
elenco di dict contenenti percorsi specificati nella tabella MLTable |