Referenzmaterial
Folgendes wird empfohlen, da die Anzahl der Typen gering und das Verwechslungsrisiko gering ist.
numpy.py
import numpy as np
np.array([2, 0, 2, 0])
array
. Sie können auch mehrdimensionale Arrays schreibennumpy.py
import numpy as np
x = np.array([[2, 0, 2, 0],[2, 0, 2, 1]])
numpy.dot function = finde das innere Produkt von Vektoren und das Produkt von Matrizen
"Array" sind Allzweckdaten, die eine Sammlung von Daten beliebiger Dimension darstellen, die nicht der "Matrix" zugeordnet sind.
numpy_array.py
import numpy as np
x = np.array([2, 0, 2, 0])
y = np.array([2, 0, 2, 1])
print(x + y)
print(x * y)
print(x.dot(y))
=> [4, 0, 4, 1] #Element für Element
=> [4, 0, 4, 0] #Element für Element (Achtung)
=> 8 #Innenprodukt
#Matrix x Vektor
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
x = np.array([7, 8, 9])
print(A.dot(x))
=> [ 50, 122]
#Matrix x Matrix
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
B = np.array([[1, 2], [3, 4], [5, 6]])
print(A.dot(B))
=>[[22 28]
[49 64]]
"Matrix ist eine Klasse, die eine Matrix darstellt" Beachten Sie, dass "Array" und "Matrix" unterschiedlich sind
numpy_matrux.py
import numpy as np
A = np.matrix([[1, 2, 3],[4, 5, 6]])
B = np.matrix([[1, 2], [3, 4], [5, 6]])
print(A.dot(B)) #numpy.Das Ergebnis der Punktfunktion berechnet das innere Produkt zusammen mit dem Array
=> [[22 28]
[49 64]]
import numpy as np
A = np.matrix([[1, 2, 3],[4, 5, 6]])
B = np.matrix([[1, 2], [3, 4], [5, 6]])
print(A * B) #Operator in Matrix"*"Berechnen Sie das innere Produkt mit
=> [[22 28]
[49 64]]
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
B = np.array([[1, 2], [3, 4], [5, 6]])
print(A * B) #Ich versuche für jedes Element zu berechnen, aber es tritt ein Fehler auf, weil die Formen der Matrizen nicht übereinstimmen.
=> ValueError: operands could not be broadcast together with shapes (2,3) (3,2)
python:numpy.array.py
import numpy as np
#Gleiche Differenznummernfolge(Gleiche Differenzbezeichnung)
np.arrange(2, 3, 0.2)
=> array([ 2. , 2.2, 2.4, 2.6, 2,8])
#Gleiche Differenznummernfolge(Geben Sie Punkte an)
np.linspace(2, 3, 6)
=> array([ 2. , 2.2, 2.4, 2.6, 2.8, 3. ])
#Richten Sie Zore aus
np.zeros((3, 2))
=> array([[0., 0.],
[0., 0.],
[0., 0.]])
#Richten Sie eine aus
np.ones((2, 3))
=> array([[1., 1.],
[1., 1.],
[1., 1.]])
#Methode
#Erstellen Sie eine Form mit 0 und weisen Sie jedem Element einen Wert zu
import numpy as np
def make_diag(n):
A = np.zeros((n, n))
for i in range(n):
A[i, i] = i + 1
return A
print(make_diag(4))
=> [[1. 0. 0. 0.]
[0. 2. 0. 0.]
[0. 0. 3. 0.]
[0. 0. 0. 4.]]
#Umformen, die ihre Form ändert, während die Anordnung der Elemente unverändert bleibt
import numpy as np
A = np.arange(0, 15, 1)
print("Inhalt von A.:\n{}".format(A))
B = A.reshape(3, 5)
print("Inhalt von B.:\n{}".format(B))
C = B.reshape(5, 3)
print("Inhalt von C.:\n{}".format(C))
=>Inhalt von A.:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
Inhalt von B.:
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
Inhalt von C.:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]]
#Verwendung von Zufallszahlen zufällig
import numpy as np
np.random.random((3, 3))
=>array([[0.96781535, 0.64650387, 0.05718226],
[0.78586557, 0.4422813 , 0.92825971],
[0.94403786, 0.90600626, 0.85543603]])
#Geben Sie jede Komponente mit einer Funktion an
import numpy as np
def f(i, j):
return i + j
A = np.fromfunction(f, (3, 3))
print(A)
=>[[0. 1. 2.]
[1. 2. 3.]
[2. 3. 4.]]
numpy.py
import numpy as np
A = np.arange(0, 15, 1)
print("A=>\n{}".format(A))
B = A.reshape(3, 5)
print("B=>\n{}".format(B))
print("B[1:2]=>\n{}".format(B[1:2]))
print("B[1:3, 2:3]=>\n{}".format(B[1:3, 2:4]))
print("B[1:3, :]=>\n{}".format(B[1:3, :]))
print("B[:, 2:4]=>\n{}".format(B[:, 2:4]))
print("B[:, 2]=>\n{}".format(B[:, 2]))
print("B[:, :]=>\n{}".format(B[:,:])
A=>
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
B=>
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
B[1:2]=>
[[5 6 7 8 9]]
B[1:3, 2:3]=>
[[ 7 8]
[12 13]]
B[1:3, :]=>
[[ 5 6 7 8 9]
[10 11 12 13 14]]
B[:, 2:4]=>
[[ 2 3]
[ 7 8]
[12 13]]
B[:, 2]=>
[ 2 7 12]
B[:, :]=>
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
numpy
bietet Funktionen mit denselben Namen wie die vom Mathematikmodul bereitgestellten, wie z. B. sin und cos.
Sie verhalten sich wie "auf alle Elemente des Arrays anwenden" für das Array
universal.py
import numpy as np
import math
r = np.linspace(0, 0.5 * math.pi, 6)
print(r)
sin_r = np.sin(r)
print(sin_r)
cos_r = np.cos(r)
print(cos_r)
print("Geben Sie Error ein, wenn Sie die von math für numpy bereitgestellte Funktion verwenden")
print(math.sin(r)
[0. 0.31415927 0.62831853 0.9424778 1.25663706 1.57079633]
[0. 0.30901699 0.58778525 0.80901699 0.95105652 1. ]
[1.00000000e+00 9.51056516e-01 8.09016994e-01 5.87785252e-01
3.09016994e-01 6.12323400e-17]
Geben Sie Error ein, wenn Sie die von math bereitgestellte Funktion verwenden
Traceback (most recent call last):
File "test_conda.py", line 14, in <module>
print(math.sin(r))
TypeError: only size-1 arrays can be converted to Python scalars
Recommended Posts