Array speichern - Geschwindigkeitsproblem mit f.write()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
SVPAM
User
Beiträge: 6
Registriert: Mittwoch 18. April 2012, 12:31

``numpy.save`` ist dir bekannt? ... Ich kann damit locker 10 Mio. Elemente speichern
Habe es gerade ausprobiert und es tut wirklich in <1sec:

Code: Alles auswählen

b=numpy.array(1e9)
outfile = 'numpysave.dat'
numpy.save(outfile, b)
Muss mir noch anschauen, was es mit diesem .npy Format auf sich hat und wie ich das für die nachgelagerte Auswertung nutzen kann. Habe schon http://docs.scipy.org/doc/numpy/referen ... .save.html gefunden.

Für alle, die so etwas auch interessant finden:

Code: Alles auswählen

a = ["0"] * 1000000000 # also 9 Zehnerpotenzen
führt zum Fehler:
"a = ["0"] * 1000000000
Memory Error"
wohingegen

Code: Alles auswählen

b=numpy.array(1e9)
problemlos angenommen und in <1sec verarbeitet wird.
BlackJack

@SVPAM: Dir ist aber schon klar, dass ``numpy.array(1e9)`` kein Array erzeugt, sondern *einen* Skalarwert!?

Code: Alles auswählen

In [248]: a = np.array(1e9)

In [249]: a
Out[249]: array(1000000000.0)

In [250]: len(a)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

TypeError: len() of unsized object

In [251]: a.ndim
Out[251]: 0
SVPAM
User
Beiträge: 6
Registriert: Mittwoch 18. April 2012, 12:31

dass ``numpy.array(1e9)`` kein Array erzeugt, sondern *einen* Skalarwert!?
Ok ... wieder etwas dazugelernt.
Antworten