GenFromTxt Numpy

GenFromTxt Numpy

Un paquete Python particularmente querido y ampliamente utilizado es Numpy. Le ofrece varias funciones para convertir los datos tabulares en una matriz. Uno de estos es el Numpy.Función GenFromText (). Una de las muchas funciones proporcionadas por la Biblioteca Numpy Python que recibe datos tabulares lo genera en una variedad de datos, y el texto de salidas se llama Numpy GenFromTXT. En esta publicación, pasaremos por cómo usar Python Numpy.Función GenFromTxt () para cargar datos de un archivo de texto. A lo largo del tutorial, demostraremos el uso de GenFromTXT y el método GenFromText ().

Definición de función genFromTxt ()

Un archivo de texto puede cargar datos en un programa utilizando la función GenFromTxt (). Para limpiar el contenido en el archivo de texto, se requieren múltiples valores de argumento. Mediante el uso de filtrado, eliminación y reemplazo de operaciones, también puede hacer frente a los valores faltantes o nulos.

Hay dos bucles en GenFromTxt numpy. Cada línea del archivo se convierte en una secuencia de cadenas usando un solo bucle. El segundo bucle luego cambia cada cadena al tipo de datos adecuado. Como resultado, este enfoque es más lento y no tan eficiente como el bucle único. El método GenFromTXT está a cargo de llenar cualquier vacío en los datos si hay algún valor faltante.

Sintaxis de la función GenFromTxt ()

Hemos adjunto la siguiente sintaxis de la función GenFromTxt ():


La función GenFromTxt () acepta una amplia gama de argumentos. Pero, nos concentraremos en los más típicos:

Nombre de parámetro

Descripción

fname El nombre de archivo que se lee se indica como fname.
dtype Esto muestra el tipo de datos de la matriz resultante. El valor predeterminado del dtype es "flotar."
comentario Esta opción describe cada línea de información.
delimitador = ninguno El valor que se emplea para dividir los valores es este.
skip_header = 0 Este valor instruye al archivo que omita las filas que comienzan al principio.
skip_footer = 0 Con esta opción, las filas inferiores del archivo deben omitirse.
convertidores = ninguno Este valor le dice a las funciones o variables de Lambda cómo convertir los datos de la columna en valores.
fallido_values ​​= ninguno Este es el valor de cadena utilizado para completar los valores faltantes.

Hablemos de varios ejemplos de genfomtxt numpy para obtener más información sobre cómo funciona esta importante función.

Ejemplo 1

Comencemos con un ejemplo fácil. Para crear la matriz de salida utilizando la función GenFromTXT, hemos invocado las bibliotecas "Numpy" e "IO" primero. Dado que utilizamos el Unicode de String en los datos, los datos se proporcionan manualmente en formato de cadena, luego se transmiten a través del método GenFromTXT utilizando la función "StringIO". Aquí, puede ver que las comas se emplean como delimitadores porque se pueden utilizar para distinguir entre valores. La matriz de resultados de la función GenFromTXT contiene la matriz de salida formada. Intente comprender el siguiente código:

importar numpy
de io import stringio
valores = u "11, 22, 33 \ n111, 222, 333 \ n55,101,112"
data_val = numpy.GenFromTxt (Stringio (valores), delimitador = ",")
imprimir (data_val)



El formato de entrada se puede especificar como un generador, lista de cadenas, cadena, abrir archivo de objeto con función de lectura o cadena. La función GenFromTXT asume y muestra la matriz de salida según el tipo de entrada. Ver la siguiente salida:


Tenga en cuenta que el método GenFromTxt interpreta una sola cadena como un nombre de archivo, ya sea que esté ubicado a nivel local o de forma remota. El método GenFromTxt también puede recibir la ubicación de URL, que descargará y abrirá el archivo desde el que proporciona la URL.

Ejemplo 2

En este ejemplo, veremos cómo usar la opción Delimiter. Esta opción se usa aquí para dividir los datos para nuestra matriz de salida dependiendo del ancho de los valores dados en el archivo de entrada.

Debido a que no hemos usado una coma u otro carácter para separar los dos datos de entrada llamados "valores1" y "valores2", que incluyen enteros de diferentes anchos, debemos utilizar los valores enteros como delimitador para dividir los valores en el archivo para nuestra matriz de salida prevista.

Debido a que las dos entradas tenían diferentes anchos de valor en una sola línea, dividimos las columnas en tres grupos de valores utilizando el delimitador de entero 3. Cuando los valores en nuestro archivo de entrada tienen el mismo ancho en todo momento, podemos utilizar este método. Si los valores en el archivo no son todos los mismos ancho, podemos usar una secuencia de valores enteros como delimitador para dividir los valores, como lo hicimos en la entrada "Values_input2". Usamos el delimitador de las secuencias 4, 3 y 2.

importar numpy como np
de io import stringio
valores1 = u "2 2 6 \ n 4 2 66 \ n453203 3"
valores_input1 = np.GenFromTxt (StringIO (Values1), Delimiter = 3)
imprimir (valores_input1)
valores2 = u "665636143 \ n 3 5 7 \ n 6532 9"
valores_input2 = np.GenFromTxt (StringIO (Values2), Delimiter = (4, 3, 2))
imprimir (valores_input2)



Aquí está la siguiente salida:

Ejemplo 3

En este ejemplo, hablaremos sobre el parámetro AutoStrip de la función GenFromTxt (). Esta opción se utiliza para eliminar automáticamente los espacios blancos entre los valores en nuestro archivo de datos.

Si usa un delimitador, la línea se descompone en una cadena de caracteres, incluido cualquier espacio en blanco disponible. Sin embargo, si pasamos "autostrip = true" como parámetro, recibiremos una cadena de caracteres vacíos en su lugar.

En la siguiente captura de pantalla, puede ver que primero hemos importado los módulos y creamos nuestros datos en una variable llamada "Valores". Después de eso, utilizamos la función GenFromTxt. Aquí, no estamos utilizando la función "AutoStrip". Usaremos esta opción en la próxima sección. Ejecute el código a continuación, luego verifique los resultados. Aquí, no hemos utilizado la función AutoStrip.

importar numpy
de io import stringio
valores = u "2, xyz, 4 \ n 5, nnn, 2"
Impresión (Numpy.GenFromTxt (Stringio (valores), delimitador = ",", dtype = "| u5"))



A continuación se muestra el resultado en el que puede ver los espacios entre los datos:


En la siguiente pantalla, puede ver que el resto del código es el mismo que el anterior, excepto la adición de la opción "AutoStrip" al final de la última línea del código.

importar numpy
de io import stringio
valores = u "2, xyz, 4 \ n 5, nnn, 2"
Impresión (Numpy.GenFromTxt (Stringio (valores), delimitador = ",", dtype = "| u5", autostrip = true))



Aquí está el resultado. Puede hacer coincidir esta salida con la salida anterior y ver la diferencia creada usando la opción "AutoStrip".

Ejemplo 4

Digamos que desea eliminar el material de las cuerdas que contienen comentarios o ciertos símbolos. Puede lograr esto pasando los parámetros de comentarios al método GenFromTxt (). Ejecute el siguiente código:

importar numpy
de io import stringio
valores = u "" "#
# Ignorar !
# Ignora esto también!
11, 1
31, 5
12, 9
15, 13
# Esta es la última línea del código!
6, 3
"" "
Impresión (Numpy.GenFromTxt (Stringio (valores), comentarios = "#", delimiter = ","))



Aquí está la salida donde puede ver que los comentarios mencionados en el código anterior se ignoran.

Conclusión

Para tener una comprensión exhaustiva de la función Numpy GenFromTxt y su trabajo, lo hemos visto en detalle utilizando varios ejemplos en esta publicación. Hemos visto ejemplos de cómo usar la función GenFromTXT para leer archivos de datos de entrada con varios tipos de datos y cómo usar varias opciones y enfoques delimitadores. Puede consultar esta información si es nuevo en este concepto. Este artículo contiene todos los detalles cruciales sobre la función GenFromTxt y su uso.