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 un elenco vuoto, una tupla o un set. Le colonne duplicate generano un'eccezione UserErrorException. Il tentativo di eliminare una colonna MLTable.traits.timestamp_column o in MLTable.traits.index_columns genererà un'eccezione UserErrorException. |
extract_columns_from_partition_format |
Aggiunge un passaggio di trasformazione per usare le informazioni di 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:y/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'y', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora 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 corrispondenti all'espressione specificata. |
get_partition_count |
Restituisce il numero di partizioni di dati sottostanti ai dati associati a questa tabella MLTable. |
keep_columns |
Aggiunge un passaggio di trasformazione per mantenere le colonne specificate e eliminare tutte le altre dal set di dati. Se non viene eliminato un elenco vuoto, una tupla o un set. Le colonne duplicate generano un'eccezione UserErrorException. Se la colonna in MLTable.traits.timestamp_column o colonne in MLTable.traits.index_columns non viene mantenuta in modo esplicito, un'eccezione UserErrorException viene raiesd. |
random_split |
Divide in modo casuale questa tabella MLTable in due tabelle MLTable, una che ha circa "percent"% dei dati di MLTable originali e l'altra con il resto (1-"percent"%). |
save |
Salvare mlTable come file YAML MLTable & i percorsi associati al percorso della directory specificato. Se il percorso non è 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 già esistere. Se il percorso è una directory locale & non è assoluto, viene reso assoluto. Se il percorso punta a un file, viene generato un oggetto UserErrorException. Se il percorso è un percorso di directory che contiene già uno o più file salvati (incluso il file YAML MLTable) e la sovrascrittura è impostata su False o 'fail' : viene generata un'eccezione UserErrorException. Se il percorso è remoto, i percorsi dei file locali non specificati come percorso colocated (percorso file relativo alla directory da cui è stato caricato MLTable) genereranno un'eccezione UserErrorException. colcated 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 specificato e i percorsi di file locali vengono resi relativi con il reindirizzamento del percorso, se necessario. Si noti che False può comportare file YAML non in un formato mlcato che non è consigliabile, inoltre, se il percorso è remoto, questo comporta un'eccezione UserErrorException come reindirizzamento del percorso relativo non è supportato per gli URI remoti. Si noti che se MLTable viene creato in modo programmatico 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 file di dati MLTable & associato a 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 mantenuti 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 modelli nei relativi percorsi, questo potrebbe non modificare in modo imprevisto mlTable associando i file di dati esistenti alla nuova tabella MLTable. Se i percorsi dei file in questa tabella 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 di conteggio di questa tabella MLTable come dataframe Pandas. |
skip |
Aggiunge un passaggio di trasformazione per ignorare le prime righe di conteggio di questa tabella MLTable. |
take |
Aggiunge un passaggio di trasformazione per selezionare le prime righe di 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 seed 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: tipi 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 un elenco vuoto, una tupla o un set. Le colonne duplicate generano un'eccezione UserErrorException.
Il tentativo di eliminare una colonna MLTable.traits.timestamp_column o in MLTable.traits.index_columns genererà 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 di 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:y/MM/dd/HH/mm/ss}' crea una colonna datetime, dove 'y', 'MM', 'dd', 'HH', 'mm' e 'ss' vengono usati per estrarre anno, mese, giorno, ora 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 sul formato specificato |
filter
Filtrare i dati, lasciando solo i record corrispondenti 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 indicizzando la 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 più pigre per ogni record quando si verifica un pull di 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 ai 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 e eliminare tutte le altre dal set di dati. Se non viene eliminato un elenco vuoto, una tupla o un set. Le colonne duplicate generano un'eccezione UserErrorException.
Se la colonna in MLTable.traits.timestamp_column o colonne in MLTable.traits.index_columns non viene mantenuta in modo esplicito, un'eccezione UserErrorException viene raiesd.
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
Divide in modo casuale questa tabella MLTable in due tabelle MLTable, una che ha circa "percent"% dei dati di MLTable originali e l'altra 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
|
inizializzazione casuale facoltativa |
Restituisce
Tipo | Descrizione |
---|---|
due mlTable con i dati di MLTable suddivisi tra di essi per "percent" |
save
Salvare mlTable come file YAML MLTable & i percorsi associati al percorso della directory specificato.
Se il percorso non è 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 già esistere. Se il percorso è una directory locale & non è assoluto, viene reso assoluto.
Se il percorso punta a un file, viene generato un oggetto UserErrorException. Se il percorso è un percorso di directory che contiene già uno o più file salvati (incluso il file YAML MLTable) e la sovrascrittura è impostata su False o 'fail' : viene generata un'eccezione UserErrorException. Se il percorso è remoto, i percorsi dei file locali non specificati come percorso colocated (percorso file relativo alla directory da cui è stato caricato MLTable) genereranno un'eccezione UserErrorException.
colcated 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 specificato e i percorsi di file locali vengono resi relativi con il reindirizzamento del percorso, se necessario. Si noti che False può comportare file YAML non in un formato mlcato che non è consigliabile, inoltre, se il percorso è remoto, questo comporta un'eccezione UserErrorException come reindirizzamento del percorso relativo non è supportato per gli URI remoti.
Si noti che se MLTable viene creato in modo programmatico 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 file di dati MLTable & associato a 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 mantenuti 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 modelli nei relativi percorsi, questo potrebbe non modificare in modo imprevisto mlTable associando i file di dati esistenti alla nuova tabella MLTable.
Se i percorsi dei file in questa tabella 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 directory da salvare in, impostazione predefinita per la directory di lavoro corrente |
colocated
Necessario
|
Se True, salva copie di percorsi di file locali & remoti in questa tabella MLTable come percorsi relativi. In caso contrario, non si verifica alcuna copia di file e i percorsi di file remoti vengono salvati come specificato nel file YAML di 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>]
Come vengono gestiti i file YAML mltable esistenti e i file associati che possono già esistere nel percorso . Le opzioni sono "sovrascrivere" (o True) per sostituire eventuali file esistenti, "fail" (o False) per generare un errore se esiste già un file o "skip" per lasciare i file esistenti così come è. 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, è stato rimosso qualsiasi file salvato correttamente per rendere l'operazione atomica |
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 le partizioni selezionate dalla tabella MLTable specificata.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Recupera le prime righe di conteggio di questa tabella MLTable come dataframe Pandas.
show(count=20)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
numero di righe dalla parte superiore della tabella da selezionare |
Restituisce
Tipo | Descrizione |
---|---|
<xref:Pandas> <xref:Dataframe>
|
prima conteggio delle righe di MLTable |
skip
Aggiunge un passaggio di trasformazione per ignorare le prime righe di 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 di conteggio di questa tabella MLTable.
take(count=20)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
numero di righe dalla parte superiore della tabella da selezionare |
Restituisce
Tipo | Descrizione |
---|---|
MlTable con il 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 seed casuale.
take_random_sample(probability, seed=None)
Parametri
Nome | Descrizione |
---|---|
probability
Necessario
|
probabilità che ogni riga sia selezionata |
seed
Necessario
|
inizializzazione casuale facoltativa |
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 specificati in questa tabella MLTable. Si presuppone che i percorsi di file locali relativi siano relativi alla directory da cui è stato caricato il file YAML MLTable da cui è stata caricata l'istanza di MLTable.
Restituisce
Tipo | Descrizione |
---|---|
elenco dict contenenti percorsi specificati in MLTable |