Ich würde 'loadtxt' empfehlen, die tatsächlich in der NumPy-Bibliothek ist. Es gibt verwandte Funktionen in Matplotlib (csv2rec), aber Matplotlib standardisiert tatsächlich auf loadtxt.
Hier ist, wie es funktioniert:
from matplotlib import pyplot as PLT
with open('name_of_your_file.csv') as f:
v = NP.loadtxt(f, delimiter=",", dtype='float', comments="#", skiprows=1, usecols=None)
'v', das Objekt von 'loadtxt' ergab, ist eine n x m NumPy Array.
'loadtxt' akzeptiert entweder eine Datei oder einen Dateideskriptor. Die obige Instanz hat den größten Teil der Methodensignatur. 'skiprows' ist eine Ganzzahl, die die Anzahl der Zeilen angibt, die von oben gezählt werden und die übersprungen werden sollen. es ist üblich, es auf "1" zu setzen, um die Kopfzeile zu überspringen; 'usecols' beginnt bei '0' und ist eine Liste mit den Spalten, die Sie einschließen möchten ('None' ist die Standardeinstellung und bedeutet 'Alle einschließen'). Die anderen Parameter funktionieren wie erwartet.
Um ein Histogramm aus diesen Daten plotten:
from matplotlib import pyplot as PLT
v_hist = NP.ravel(v) # 'flatten' v
fig = PLT.figure()
ax1 = fig.add_subplot(111)
n, bins, patches = ax1.hist(v_hist, bins=50, normed=1, facecolor='green')
PLT.show()
@doug: Vielen Dank – Arkapravo
sollten Sie immer 'genfromtxt' anstelle von loadtxt verwenden, vor allem bei großen Dateien, da es das gleiche hat Standardverhalten kann aber 20 mal so schnell sein. –