función genfromtxt y aprendizaje de la función Numpy

  Hoy encontré la función
  
  genfromtxt world_alcohol = numpy.genfromtxt ("world_alcohol.txt", delimiter = ",", dtype = str)
  
  ¿Qué es genfromtxt? La
  
  función genfromtxt crea datos de tabla de matriz
  
  genfromtxt realiza principalmente dos operaciones de bucle. El primer bucle convierte cada línea del archivo en una secuencia de cadenas. El segundo bucle convierte cada secuencia de cadena al tipo de datos correspondiente.
  
  genfromtxt puede considerar datos faltantes, pero otras funciones más rápidas y simples como loadtxt no pueden considerar valores perdidos.
  
  Antes de usar, debe importar el módulo correspondiente
  
  Python 3 import numpy para
  
  definir que el
  
  único parámetro obligatorio de entrada genfromtxt es la fuente de los datos. Puede ser una cadena de nombre correspondiente a un archivo local o remoto, o un objeto similar a un archivo con un método de lectura (como un archivo real o un objeto StringIO.StringIO). Si el parámetro es una URL de un archivo remoto, este último se descarga automáticamente en el directorio actual. El archivo de entrada puede ser un archivo de texto o un archivo. Actualmente, esta función reconoce gzip y bz2 (bzip2). El tipo de archivo comprimido es verificar la extensión del archivo: si el nombre del archivo termina con ".gz", archivo gzip; si termina con "bz2", archivo bzip2.
  
  Divida la línea en columnas
  
  genfromtxt divida cada línea no en blanco en un carácter Secuencia de cadenas. Se omiten las líneas vacías o las líneas de comentarios. El
  
  carácter dividido no se limita a un solo carácter, cualquier cadena servirá.
  
  Dividir un archivo de ancho fijo, el ancho de la columna se define como un número dado de caracteres. En este caso, necesitamos establecer el separador en un entero (si todas las columnas tienen el mismo tamaño) o una secuencia de enteros (si las columnas pueden tener diferentes tamaños).
  
  data = "123456789 \ n 4 7 9 \ n 4567 9"
  
  np.genfromtxt (StringIO (data), delimitador = (4, 3, 2))
  
  array ([[1234., 567., 89.], [4. , 7., 9.], [4., 567., 9.]])
  
  detalles del parámetro genfromtxt parámetro
  
  autostrip
  
  Cuando una línea se divide en una secuencia de cadena, todavía existen espacios adicionales antes y después de cada elemento de la secuencia, puede cambiar El parámetro autostrip se establece en verdadero para eliminar espacios.
  
  parámetro de comentarios El parámetro de
  
  comentarios es una cadena que marca el comienzo de un comentario. El valor predeterminado es "#", y pueden aparecer marcas de comentarios en cualquier lugar durante el proceso de conversión. Cualquier carácter que aparezca después de la marca de comentario será ignorado.
  
  Nota: Hay una excepción a este comportamiento: si los nombres de parámetros opcionales = Verdadero, la primera línea verifica que la línea de comentario se considere el nombre.
  
  El
  
  encabezado de los parámetros skip_header y skip_footer de un archivo dificultará el procesamiento del archivo. En este caso, necesitamos usar el parámetro opcional skip_header. El valor de este parámetro debe ser un número entero, omitir el número correspondiente de líneas al comienzo del archivo y luego realizar cualquier otra operación. Del mismo modo, podemos omitir las últimas n líneas del archivo utilizando el atributo skip_footer y el valor de n. El valor predeterminado es 0.
  
  parámetro de usercols
  
  En algunos casos, solo estamos interesados ​​en ciertas columnas en los datos. Podemos usar usecols para seleccionar las columnas de interés. Este parámetro acepta un entero o una secuencia de enteros como índice. Recuerde, por convención, el índice de la primera columna 0, -1 corresponde a la última columna. Si la columna tiene un nombre, también podemos establecer el parámetro usecols en su nombre, o una secuencia de cadena o cadena separada por comas que contenga el nombre de la columna.
  
  Parámetro dtype
  
  La secuencia de cadenas que leemos del archivo debe establecerse al convertir a otros tipos de datos. El valor predeterminado es tipo flotante.
  
  1. Un solo tipo, como dtype = float.
  
  2. Un tipo de secuencia, como dtype = (int, float, float)
  
  3. Una cadena separada por comas, como dtype = "i4, f8, | S3".
  
  4. Un diccionario contiene dos 'nombres' y 'formatos'
  
  5. Una secuencia de tuplas, por ejemplo dtype = [('A', int), ('B', float)]
  
  6. Un objeto numpy.dtype existente
  
  7. Un valor especial Ninguno, en este En este caso, el tipo de cada columna está determinado por sus propios datos. Establecer el parámetro en Ninguno es menos eficiente. Como comenzará con un valor booleano, los números enteros, de coma flotante y complejos terminarán con una cadena hasta que se cumpla la condición.
  
  El parámetro de nombres
  
  puede establecer el parámetro de nombres en verdadero y omitir la primera línea, el programa usará la primera línea como el nombre de la columna, incluso si la primera línea está comentada, se leerá. O puede usar dtype para establecer el nombre, o puede reescribir el nombre. El nombre predeterminado es none. Cuando names = none, numpy generará algunos valores predeterminados estándar "f% i". Podemos cambiar el formato predeterminado a través de defaultfmt.
  
  data = StringIO ("1 2 3 \ n 4 5 6"
  
  ndtype = [('a', int), ('b', float), ('c', int)]
  
  nombres = ["A", "B", "C"]
  
  np.genfromtxt (datos, nombres = nombres, dtype = ndtype) array ([(1, 2.0, 3), (4, 5.0, 6)],
  
  dtype = [('A', '<i8'), ('B', '<f8') , ('C', '<i8')])
  
  Nota: Necesitamos recordar que el defaultfmt solo se usará para
  
  verificar los nombres de la
  
  matriz Numpy y un dtype estructurado también se puede considerar como recarray, un campo se puede usar como un Acceso a la propiedad. Por esta razón, es posible que debamos asegurarnos de que el nombre del campo no contenga espacios o caracteres no válidos, o nombres que no se ajusten a los atributos estándar (como el tamaño o la forma). genfromtxt acepta tres parámetros opcionales y proporciona un nombre para un mejor control:
  
  deletechars: todos los conectores de un nombre que deben eliminarse. De forma predeterminada, los caracteres no válidos ~! @ # $% ^ & * () —— + ~ = |]} ({;: /?>, <.
  
  Excludelist: proporciona una lista de nombres para eliminar, como return, file, print ... Si uno de los nombres ingresados ​​aparece en esta lista, estará subrayado ("_").
  
  case_sensitive: si el nombre debe ser sensible a mayúsculas y minúsculas (case_sensitive = True),
  

  
  Cuando deseamos que el formato de fecha MM / DD / AAAA se convierta en un objeto de fecha y hora, o que una cadena xx% se convierta correctamente a un número de coma flotante entre 0 y 1, debemos usar el parámetro convertidores para definir la función de conversión.
  
  El valor de este parámetro suele ser un diccionario con índices de columna o nombres de columna como claves y una función de conversión como valores. Estas funciones de conversión pueden ser funciones reales o funciones lambda. En cualquier caso, solo deben aceptar una cadena como entrada y salida y solo un tipo de elemento que desean obtener.   Por defecto,
  
  missing_values
  
usa espacios para indicar que faltan, podemos usar caracteres más complejos para indicar que faltan, como 'N / A' o '???'. missing_values ​​acepta tres tipos de valores:
  
  una cadena o una cadena separada por comas: esta cadena se usará como
  
  una secuencia de cadena para marcar todas las columnas de datos faltantes : en este caso, cada elemento corresponde a Está asociado
  
  Un diccionario: el valor del diccionario es una cadena o una secuencia de cadenas. La clave correspondiente puede ser el índice de la columna (entero) o el nombre de la columna (cadena). Además, key = none define un valor predeterminado que se aplica a todas las columnas.
  
  Parámetro Filling_values
  
  Cuando falta un valor, el sistema llena el valor predeterminado:
  
  Tipo esperado Valor predeterminado
  
  bool False
  
  int -1
  
  float np.nan
  
  complex np.nan + 0j
  
  string '???'
  
  También podemos establecer el valor del parámetro como el parámetro missing_values. fill_values ​​acepta tres tipos de valores: -un
  
  valor único: el valor predeterminado para todas las columnas
  
  -Una secuencia de valores: cada elemento corresponde a la columna correspondiente en orden.
  
  -Un diccionario: el valor del diccionario es un objeto separado. La clave correspondiente puede ser el índice de la columna (entero) o el nombre de la columna (cadena). Además, key = none define un valor predeterminado que se aplica a todas las columnas.
  
  Parámetro de máscara de usuario
  
  También es posible que deseemos rastrear la aparición de datos faltantes mediante la construcción de una máscara booleana, donde faltan los datos devuelve verdadero, de lo contrario, devuelve falso. Para hacer esto, debemos establecer el parámetro opcional usemask = True (el valor predeterminado es False). El resultado será una matriz MaskedArray.
  
  Además de genfromtxt, el módulo numpy.lib.io proporciona algunas funciones convenientes de genfromtxt. Todas estas funciones funcionan de la misma manera, pero tienen valores predeterminados diferentes.
  
  ndfromtxt
  
  generalmente establece usemask = False. La salida suele ser un numpy.ndarray estándar.
  
  mafromtxt
  
  generalmente establece usemask = True. La salida es MaskedArray
  
  recfromtxt
  
  devuelve un numpy.recarray estándar (si usemask = False) o una matriz MaskedRecords (si usemaske = True) El dtype predeterminado es dtype = None, lo que significa que el tipo de cada columna se determinará automáticamente.
  
  recfromcsv es
  
  similar a recfromtxt, pero delimitador = ",".
  
  Aprendizaje de la función Numpy --genfromtxt function

Supongo que te gusta

Origin www.cnblogs.com/caihai250/p/12709939.html
Recomendado
Clasificación