2017-07-06 4 views
0

Ich habe versucht, die Unterschiede von den Werten eines Elements [n] zum nächsten Element [n + 1] in demselben numpy.array zu erstellen.numpy.array operation/method: Wert eines Elements vom Wert des nächsten Elements subtrahieren

Dies muss für alle n wiederholt werden, ich erwarte n-1 Ergebniswerte.
Außerdem möchte ich vermeiden, Schleifen zu verwenden, weil Schleifen eine Fehlerquelle sein können, die die Elemente nummeriert.

Jetzt suche ich für eine Operation wie:

result = array[n+1] - array[n] 

für alle n.

Ich habe viele ähnliche Implementierungen versucht, aber ich bekomme immer einige Fehlermeldungen.

Wie kann ich es funktionieren lassen?

+2

Willkommen bei Stack-Überlauf, möchten Sie vielleicht untersuchen, wie Sie Code so formatieren, dass er lesbar und kopierfähig ist. [Hier] (https://stackoverflow.com/help/how-to-ask) sind die Richtlinien, um eine gute Frage zu stellen. Wie für die Antwort selbst, 'np.diff (Array)' tut, was Sie fragen – gionni

+0

np.diff() ist, was ich suchte. Manchmal ist es sehr einfach mit einem Keyword von einem Experten. Danke Gionni! – newbieTheNewest

+0

Sie sind herzlich willkommen Kumpel, es kann schwierig sein zu finden, was Sie am Anfang suchen ;-) – gionni

Antwort

2

Numpy der diff() Funktion tut, was Sie fragen. Hier

ein Beispiel:

import numpy as np 
a = np.arange(10) # this instantiates a numpy array containing values from 0 to 9 
result = np.diff(a) # if you print this you'll see an array of 1 with length 9 

Wenn Sie möchten, schneiden können anstelle (Ich füge dies für alle Neulinge, als ein Beispiel für slicing) wie folgt:

result = a[1:] - a[:-1] 
1
x = np.array([2,3,1,0]) 
result = x[:-1] - x[1:] 

Ausgang:

[-1, 2, 1] 
Verwandte Themen