MLTable Clase
Representa una tabla MLTable.
Una MLTable define una serie de operaciones inmutables y diferidamente evaluadas para cargar datos desde el origen de datos. Los datos no se cargan desde el origen hasta que se pide a MLTable que entreguen datos.
Inicialice una nueva mlTable.
Este constructor no se supone que se invoque directamente. MLTable está pensado para crearse mediante load.
- Herencia
-
builtins.objectMLTable
Constructor
MLTable()
Métodos
convert_column_types |
Agrega un paso de transformación para convertir las columnas especificadas en sus respectivos tipos nuevos especificados.
|
drop_columns |
Agrega un paso de transformación para quitar las columnas especificadas del conjunto de datos. Si se quita una lista vacía, una tupla o un conjunto no se quita nada. Las columnas duplicadas generarán una excepción UserErrorException. Al intentar quitar una columna que se MLTable.traits.timestamp_column o en MLTable.traits.index_columns se generará una excepción UserErrorException. |
extract_columns_from_partition_format |
Agrega un paso de transformación para usar la información de partición de cada ruta de acceso y extraerla en columnas según el formato de partición especificado. La parte de formato "{column_name}" crea una columna de cadena y "{column_name:yyyy/MM/dd/HH/mm/ss}" crea la columna datetime, donde "yyyy", "MM", "dd", "HH", "mm" y "ss" se usan para extraer el año, mes, día, hora, minutos y segundos para el tipo datetime. El formato debe empezar en la posición de la primera clave de partición hasta el final de la ruta de acceso del archivo. Por ejemplo, dada la ruta de acceso '/Accounts/2019/01/01/data.csv' donde la partición es por nombre y hora del departamento, partition_format='/{Department}/{PartitionDate:aaaa/MM/dd}/data.csv' crea una columna de cadena 'Department' con el valor 'Accounts' y una columna datetime 'PartitionDate' con el valor '2019-01-01'. |
filter |
Filtra los datos, dejando solo los registros que coinciden con la expresión especificada. |
get_partition_count |
Devuelve el número de particiones de datos subyacentes a los datos asociados a esta MLTable. |
keep_columns |
Agrega un paso de transformación para mantener las columnas especificadas y quitar todas las demás del conjunto de datos. Si se quita una lista vacía, una tupla o un conjunto no se quita nada. Las columnas duplicadas generarán una excepción UserErrorException. Si la columna de MLTable.traits.timestamp_column o columnas de MLTable.traits.index_columns no se mantienen explícitamente, se pasa una excepción UserErrorException. |
random_split |
Divide aleatoriamente esta MLTable en dos MLTables, una que tiene aproximadamente el "porcentaje" de los datos originales de MLTable y el otro que tiene el resto (1-"porcentaje"%). |
save |
Guarde esta mlTable como un archivo YAML de MLTable & sus rutas de acceso asociadas a la ruta de acceso del directorio especificada. Si no se especifica la ruta de acceso , el valor predeterminado es el directorio de trabajo actual. Si la ruta de acceso no existe, se crea. Si la ruta de acceso es remota, el almacén de datos subyacente ya debe existir. Si la ruta de acceso es un directorio local & no es absoluta, se hace absoluta. Si la ruta de acceso apunta a un archivo, se genera una excepción UserErrorException. Si la ruta de acceso es una ruta de acceso de directorio que ya contiene uno o varios archivos que se guardan (incluido el archivo YAML de MLTable) y la sobrescritura se establece en False o "fail", se genera una excepción UserErrorException. Si la ruta de acceso es remota, las rutas de acceso de los archivos locales que no se proporcionan como una ruta de acceso coubica (ruta de acceso de archivo relativa al directorio desde el que se cargó MLTable) generarán una excepción UserErrorException. coubicación controla cómo se guardan las rutas de acceso asociadas en la ruta de acceso. Si es True, los archivos se copian en la ruta de acceso junto con el archivo YAML de MLTable como rutas de acceso de archivo relativas. De lo contrario, los archivos asociados no se copian, las rutas de acceso remotas permanecen como dadas y las rutas de acceso locales se realizan en relación con el redireccionamiento de ruta de acceso si es necesario. Tenga en cuenta que False puede dar lugar a archivos YAML de MLTable no con punto y coma que no se recomiendan, además, si la ruta de acceso es remota, se producirá una excepción UserErrorException como redireccionamiento de ruta de acceso relativa no se admite para los URI remotos. Tenga en cuenta que si MLTable se crea mediante programación con métodos como from_paths() o from_read_delimited_files() con rutas de acceso relativas locales, se supone que la ruta de acceso del directorio MLTable es el directorio de trabajo actual. Tenga en cuenta al guardar una nueva mlTable & archivos de datos asociados a un directorio con un archivo MLTable existente & archivos de datos asociados que el directorio no está borrado de los archivos existentes antes de guardar los nuevos archivos. Es posible que los archivos de datos ya existentes se conserven después de guardar los nuevos archivos, especialmente si los archivos de datos existentes no tienen nombres que coincidan con los nuevos archivos de datos. Si el nuevo MLTable contiene un designador de patrones en sus rutas de acceso, esto puede alterar involuntariamente MLTable asociando archivos de datos existentes con la nueva MLTable. Si las rutas de acceso de archivo de esta tabla MLTable apuntan a un archivo existente en la ruta de acceso, pero tienen un URI diferente, si la sobrescritura es "fail" o "skip", el archivo existente no se sobrescribirá (es decir, omitido). |
select_partitions |
Agrega un paso de transformación para seleccionar la partición. |
show |
Recupera las primeras filas de recuento de esta mlTable como dataframe de Pandas. |
skip |
Agrega un paso de transformación para omitir las primeras filas de recuento de esta mlTable. |
take |
Agrega un paso de transformación para seleccionar las primeras filas de recuento de esta mlTable. |
take_random_sample |
Agrega un paso de transformación para seleccionar aleatoriamente cada fila de esta MLTable con probabilidad de probabilidad . La probabilidad debe estar en el intervalo [0, 1]. Opcionalmente, puede establecer una inicialización aleatoria. |
to_pandas_dataframe |
Cargue todos los registros de las rutas de acceso especificadas en el archivo MLTable en un DataFrame de Pandas. |
validate |
Valida si se pueden cargar los datos de esta mlTable, requiere que los orígenes de datos de MLTable sean accesibles desde el proceso actual. |
convert_column_types
Agrega un paso de transformación para convertir las columnas especificadas en sus respectivos tipos nuevos especificados.
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)
Parámetros
Diccionario de columnas: tipos que el usuario desea convertir
Devoluciones
MLTable con paso de transformación agregado
Tipo de valor devuelto
drop_columns
Agrega un paso de transformación para quitar las columnas especificadas del conjunto de datos. Si se quita una lista vacía, una tupla o un conjunto no se quita nada. Las columnas duplicadas generarán una excepción UserErrorException.
Al intentar quitar una columna que se MLTable.traits.timestamp_column o en MLTable.traits.index_columns se generará una excepción UserErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parámetros
columnas que se van a quitar de esta mlTable
Devoluciones
MLTable con paso de transformación agregado
Tipo de valor devuelto
extract_columns_from_partition_format
Agrega un paso de transformación para usar la información de partición de cada ruta de acceso y extraerla en columnas según el formato de partición especificado.
La parte de formato "{column_name}" crea una columna de cadena y "{column_name:yyyy/MM/dd/HH/mm/ss}" crea la columna datetime, donde "yyyy", "MM", "dd", "HH", "mm" y "ss" se usan para extraer el año, mes, día, hora, minutos y segundos para el tipo datetime.
El formato debe empezar en la posición de la primera clave de partición hasta el final de la ruta de acceso del archivo. Por ejemplo, dada la ruta de acceso '/Accounts/2019/01/01/data.csv' donde la partición es por nombre y hora del departamento, partition_format='/{Department}/{PartitionDate:aaaa/MM/dd}/data.csv' crea una columna de cadena 'Department' con el valor 'Accounts' y una columna datetime 'PartitionDate' con el valor '2019-01-01'.
extract_columns_from_partition_format(partition_format)
Parámetros
Devoluciones
MLTable cuyo formato de partición está establecido en formato dado
Tipo de valor devuelto
filter
Filtra los datos, dejando solo los registros que coinciden con la expresión especificada.
filter(expression)
Parámetros
Devoluciones
MLTable después del filtro
Tipo de valor devuelto
Comentarios
Las expresiones se inician indexando la tabla mltable con el nombre de una columna. Admiten una variedad de funciones y operadores, y se pueden combinar mediante operadores lógicos. La expresión resultante se evaluará de forma diferida para cada registro cuando se produzca una extracción de datos y no cuando se define.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Devuelve el número de particiones de datos subyacentes a los datos asociados a esta MLTable.
get_partition_count() -> int
Devoluciones
particiones de datos en esta mlTable
Tipo de valor devuelto
keep_columns
Agrega un paso de transformación para mantener las columnas especificadas y quitar todas las demás del conjunto de datos. Si se quita una lista vacía, una tupla o un conjunto no se quita nada. Las columnas duplicadas generarán una excepción UserErrorException.
Si la columna de MLTable.traits.timestamp_column o columnas de MLTable.traits.index_columns no se mantienen explícitamente, se pasa una excepción UserErrorException.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parámetros
columnas de esta mlTable para mantener
Devoluciones
MLTable con paso de transformación agregado
Tipo de valor devuelto
random_split
Divide aleatoriamente esta MLTable en dos MLTables, una que tiene aproximadamente el "porcentaje" de los datos originales de MLTable y el otro que tiene el resto (1-"porcentaje"%).
random_split(percent=0.5, seed=None)
Parámetros
Devoluciones
dos MLTables con los datos de mlTable divididos entre ellos por "porcentaje"
Tipo de valor devuelto
save
Guarde esta mlTable como un archivo YAML de MLTable & sus rutas de acceso asociadas a la ruta de acceso del directorio especificada.
Si no se especifica la ruta de acceso , el valor predeterminado es el directorio de trabajo actual. Si la ruta de acceso no existe, se crea. Si la ruta de acceso es remota, el almacén de datos subyacente ya debe existir. Si la ruta de acceso es un directorio local & no es absoluta, se hace absoluta.
Si la ruta de acceso apunta a un archivo, se genera una excepción UserErrorException. Si la ruta de acceso es una ruta de acceso de directorio que ya contiene uno o varios archivos que se guardan (incluido el archivo YAML de MLTable) y la sobrescritura se establece en False o "fail", se genera una excepción UserErrorException. Si la ruta de acceso es remota, las rutas de acceso de los archivos locales que no se proporcionan como una ruta de acceso coubica (ruta de acceso de archivo relativa al directorio desde el que se cargó MLTable) generarán una excepción UserErrorException.
coubicación controla cómo se guardan las rutas de acceso asociadas en la ruta de acceso. Si es True, los archivos se copian en la ruta de acceso junto con el archivo YAML de MLTable como rutas de acceso de archivo relativas. De lo contrario, los archivos asociados no se copian, las rutas de acceso remotas permanecen como dadas y las rutas de acceso locales se realizan en relación con el redireccionamiento de ruta de acceso si es necesario. Tenga en cuenta que False puede dar lugar a archivos YAML de MLTable no con punto y coma que no se recomiendan, además, si la ruta de acceso es remota, se producirá una excepción UserErrorException como redireccionamiento de ruta de acceso relativa no se admite para los URI remotos.
Tenga en cuenta que si MLTable se crea mediante programación con métodos como from_paths() o from_read_delimited_files() con rutas de acceso relativas locales, se supone que la ruta de acceso del directorio MLTable es el directorio de trabajo actual.
Tenga en cuenta al guardar una nueva mlTable & archivos de datos asociados a un directorio con un archivo MLTable existente & archivos de datos asociados que el directorio no está borrado de los archivos existentes antes de guardar los nuevos archivos. Es posible que los archivos de datos ya existentes se conserven después de guardar los nuevos archivos, especialmente si los archivos de datos existentes no tienen nombres que coincidan con los nuevos archivos de datos. Si el nuevo MLTable contiene un designador de patrones en sus rutas de acceso, esto puede alterar involuntariamente MLTable asociando archivos de datos existentes con la nueva MLTable.
Si las rutas de acceso de archivo de esta tabla MLTable apuntan a un archivo existente en la ruta de acceso, pero tienen un URI diferente, si la sobrescritura es "fail" o "skip", el archivo existente no se sobrescribirá (es decir, omitido).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Parámetros
- path
- str
ruta de acceso del directorio en la que guardar, de forma predeterminada en el directorio de trabajo actual
- colocated
- bool
Si es True, guarda copias de las rutas de acceso locales de & archivos remotos en esta mlTable en ruta de acceso como rutas de acceso relativas. De lo contrario, no se produce ninguna copia de archivos y las rutas de acceso a archivos remotos se guardan como dadas al archivo YAML de MLTable guardado y las rutas de acceso de archivo locales como rutas de acceso relativas con redirección de ruta de acceso. Si la ruta de acceso es remota & esta mlTable contiene rutas de acceso de archivo locales, se generará una excepción UserErrorException.
- overwrite
- Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Cómo se controla el archivo YAML de MLTable existente y los archivos asociados que pueden existir en la ruta de acceso . Las opciones son "sobrescribir" (o True) para reemplazar los archivos existentes, "fail" (o False) para generar un error si ya existe un archivo o "skip" para dejar los archivos existentes tal cual. También se puede establecer con <xref:mltable.MLTableSaveOverwriteOptions>.
- if_err_remove_files
- bool
si se produce algún error durante el guardado, se quitaron los archivos guardados correctamente para que la operación sea atómica.
Devoluciones
esta instancia de MLTable
Tipo de valor devuelto
select_partitions
Agrega un paso de transformación para seleccionar la partición.
select_partitions(partition_index_list)
Parámetros
Devoluciones
MLTable con el tamaño de partición actualizado
Tipo de valor devuelto
Comentarios
En el fragmento de código siguiente se muestra cómo usar la API de select_partitions para las particiones seleccionadas de mlTable proporcionada.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Recupera las primeras filas de recuento de esta mlTable como dataframe de Pandas.
show(count=20)
Parámetros
Devoluciones
primeras filas de recuento de MLTable
Tipo de valor devuelto
skip
Agrega un paso de transformación para omitir las primeras filas de recuento de esta mlTable.
skip(count)
Parámetros
Devoluciones
MLTable con paso de transformación agregado
take
Agrega un paso de transformación para seleccionar las primeras filas de recuento de esta mlTable.
take(count=20)
Parámetros
Devoluciones
MLTable con el paso de transformación "take" agregado
Tipo de valor devuelto
take_random_sample
Agrega un paso de transformación para seleccionar aleatoriamente cada fila de esta MLTable con probabilidad de probabilidad . La probabilidad debe estar en el intervalo [0, 1]. Opcionalmente, puede establecer una inicialización aleatoria.
take_random_sample(probability, seed=None)
Parámetros
- probability
probabilidad de que se seleccione cada fila
Devoluciones
MLTable con paso de transformación agregado
Tipo de valor devuelto
to_pandas_dataframe
Cargue todos los registros de las rutas de acceso especificadas en el archivo MLTable en un DataFrame de Pandas.
to_pandas_dataframe()
Devoluciones
Trama de datos de Pandas que contiene los registros de las rutas de acceso de esta mlTable
Tipo de valor devuelto
Comentarios
En el siguiente fragmento de código se muestra cómo usar la API de to_pandas_dataframe para obtener un dataframe de Pandas correspondiente a mlTable proporcionado.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
Valida si se pueden cargar los datos de esta mlTable, requiere que los orígenes de datos de MLTable sean accesibles desde el proceso actual.
validate()
Devoluciones
None
Tipo de valor devuelto
Atributos
partition_keys
Devuelve las claves de partición.
Devoluciones
Las claves de partición.
Tipo de valor devuelto
paths
Devuelve una lista de diccionarios que contienen las rutas de acceso originales dadas a esta MLTable. Se supone que las rutas de acceso de archivo locales relativas son relativas al directorio desde el que se cargó el archivo YAML de MLTable desde el que se cargó esta instancia de MLTable.
Devoluciones
lista de dicts que contienen rutas de acceso especificadas en MLTable
Tipo de valor devuelto
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de