NumPy - Arithmetische Operationen
Eingabearrays zum Ausführen von arithmetischen Operationen wie add (), subtrahieren (), multiplizieren () und dividieren () müssen entweder dieselbe Form haben oder den Array-Übertragungsregeln entsprechen.
Beispiel
import numpy as np
a = np.arange(9, dtype = np.float_).reshape(3,3)
print 'First array:'
print a
print '\n'
print 'Second array:'
b = np.array([10,10,10])
print b
print '\n'
print 'Add the two arrays:'
print np.add(a,b)
print '\n'
print 'Subtract the two arrays:'
print np.subtract(a,b)
print '\n'
print 'Multiply the two arrays:'
print np.multiply(a,b)
print '\n'
print 'Divide the two arrays:'
print np.divide(a,b)
Es wird die folgende Ausgabe erzeugt -
First array:
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]
Second array:
[10 10 10]
Add the two arrays:
[[ 10. 11. 12.]
[ 13. 14. 15.]
[ 16. 17. 18.]]
Subtract the two arrays:
[[-10. -9. -8.]
[ -7. -6. -5.]
[ -4. -3. -2.]]
Multiply the two arrays:
[[ 0. 10. 20.]
[ 30. 40. 50.]
[ 60. 70. 80.]]
Divide the two arrays:
[[ 0. 0.1 0.2]
[ 0.3 0.4 0.5]
[ 0.6 0.7 0.8]]
Lassen Sie uns nun einige der anderen wichtigen arithmetischen Funktionen diskutieren, die in NumPy verfügbar sind.
numpy.reciprocal ()
Diese Funktion gibt den Kehrwert des Arguments elementweise zurück. Bei Elementen mit absoluten Werten größer als 1 ist das Ergebnis aufgrund der Art und Weise, wie Python die Ganzzahldivision behandelt, immer 0. Für die Ganzzahl 0 wird eine Überlaufwarnung ausgegeben.
Beispiel
import numpy as np
a = np.array([0.25, 1.33, 1, 0, 100])
print 'Our array is:'
print a
print '\n'
print 'After applying reciprocal function:'
print np.reciprocal(a)
print '\n'
b = np.array([100], dtype = int)
print 'The second array is:'
print b
print '\n'
print 'After applying reciprocal function:'
print np.reciprocal(b)
Es wird die folgende Ausgabe erzeugt -
Our array is:
[ 0.25 1.33 1. 0. 100. ]
After applying reciprocal function:
main.py:9: RuntimeWarning: divide by zero encountered in reciprocal
print np.reciprocal(a)
[ 4. 0.7518797 1. inf 0.01 ]
The second array is:
[100]
After applying reciprocal function:
[0]
numpy.power ()
Diese Funktion behandelt Elemente im ersten Eingabearray als Basis und gibt sie auf die Potenz des entsprechenden Elements im zweiten Eingabearray zurück.
import numpy as np
a = np.array([10,100,1000])
print 'Our array is:'
print a
print '\n'
print 'Applying power function:'
print np.power(a,2)
print '\n'
print 'Second array:'
b = np.array([1,2,3])
print b
print '\n'
print 'Applying power function again:'
print np.power(a,b)
Es wird die folgende Ausgabe erzeugt -
Our array is:
[ 10 100 1000]
Applying power function:
[ 100 10000 1000000]
Second array:
[1 2 3]
Applying power function again:
[ 10 10000 1000000000]
numpy.mod ()
Diese Funktion gibt den Rest der Division der entsprechenden Elemente im Eingabearray zurück. Die Funktionnumpy.remainder() erzeugt auch das gleiche Ergebnis.
import numpy as np
a = np.array([10,20,30])
b = np.array([3,5,7])
print 'First array:'
print a
print '\n'
print 'Second array:'
print b
print '\n'
print 'Applying mod() function:'
print np.mod(a,b)
print '\n'
print 'Applying remainder() function:'
print np.remainder(a,b)
Es wird die folgende Ausgabe erzeugt -
First array:
[10 20 30]
Second array:
[3 5 7]
Applying mod() function:
[1 0 2]
Applying remainder() function:
[1 0 2]
Die folgenden Funktionen werden verwendet, um Operationen an einem Array mit komplexen Zahlen auszuführen.
numpy.real() - gibt den Realteil des komplexen Datentyparguments zurück.
numpy.imag() - gibt den Imaginärteil des komplexen Datentyparguments zurück.
numpy.conj() - gibt das komplexe Konjugat zurück, das durch Ändern des Vorzeichens des Imaginärteils erhalten wird.
numpy.angle()- gibt den Winkel des komplexen Arguments zurück. Die Funktion hat einen Gradparameter. Wenn true, wird der Winkel im Grad zurückgegeben, andernfalls wird der Winkel im Bogenmaß angegeben.
import numpy as np
a = np.array([-5.6j, 0.2j, 11. , 1+1j])
print 'Our array is:'
print a
print '\n'
print 'Applying real() function:'
print np.real(a)
print '\n'
print 'Applying imag() function:'
print np.imag(a)
print '\n'
print 'Applying conj() function:'
print np.conj(a)
print '\n'
print 'Applying angle() function:'
print np.angle(a)
print '\n'
print 'Applying angle() function again (result in degrees)'
print np.angle(a, deg = True)
Es wird die folgende Ausgabe erzeugt -
Our array is:
[ 0.-5.6j 0.+0.2j 11.+0.j 1.+1.j ]
Applying real() function:
[ 0. 0. 11. 1.]
Applying imag() function:
[-5.6 0.2 0. 1. ]
Applying conj() function:
[ 0.+5.6j 0.-0.2j 11.-0.j 1.-1.j ]
Applying angle() function:
[-1.57079633 1.57079633 0. 0.78539816]
Applying angle() function again (result in degrees)
[-90. 90. 0. 45.]