Tengo un archivo CSV en e:\dir1\datafile.csv.
Contiene tres columnas y 10 título y el final de líneas deben ser omitidos.
Me gustaría parcela con numpy.loadtxt(), por que no he encontrado ninguna rigurosa documentación.

Aquí es lo que empecé a escribir a partir de los varios intentos que he encontrado en la web.

import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook

def read_datafile(file_name):
    # the skiprows keyword is for heading, but I don't know if trailing lines
    # can be specified
    data = np.loadtxt(file_name, delimiter=',', skiprows=10)
    return data

data = read_datafile('e:\dir1\datafile.csv')

x = ???
y = ???

fig = plt.figure()

ax1 = fig.add_subplot(111)

ax1.set_title("Mains power stability")    
ax1.set_xlabel('time')
ax1.set_ylabel('Mains voltage')

ax1.plot(x,y, c='r', label='the data')

leg = ax1.legend()

plt.show()
InformationsquelleAutor user1850133 | 2012-11-24

2 Comentarios

  1. 40

    De acuerdo a la docs numpy.loadtxt es

    una rápida lector para simplemente los archivos con formato. El genfromtxt que proporciona la función de gestión más avanzado de, por ejemplo, las líneas con los valores que faltan.

    tan sólo hay un par de opciones para manejar más complicado archivos.
    Como se mencionó numpy.genfromtxt tiene más opciones. Así como un ejemplo, usted podría usar

    import numpy as np
    data = np.genfromtxt('e:\dir1\datafile.csv', delimiter=',', skip_header=10,
                         skip_footer=10, names=['x', 'y', 'z'])

    para leer los datos y asignar nombres a las columnas (o leer una línea de encabezado del archivo con names=True) y de la trama con

    ax1.plot(data['x'], data['y'], color='r', label='the data')

    Creo numpy está bastante bien documentado ahora. Usted puede inspeccionar fácilmente los docstrings desde dentro ipython o mediante el uso de un IDE como araña si prefiere leer les representa como HTML.

    • Gracias por su información. He descargado el numpy ref. manual; tiene toda la información que necesita acerca de genfromtxt.
    • agradable de escuchar. En Stackoverflow normalmente upvote una respuesta, si era útil para usted (y tal vez dejando un comentario) y / o aceptar si su pregunta sea respondida.
  2. 4

    Supongo

    x= data[:,0]
    y= data[:,1]
    • O, alternativamente, x, y = data[:,:2].T (o incluso x, y, third_column = data.T si data siempre va a tener 3 columnas).
    • Su sintaxis no válida

Dejar respuesta

Please enter your comment!
Please enter your name here