


Wie führe ich eine Numpy-Übertragung mithilfe eines dynamischen Arrays mit Python durch?
„Broadcasting“ bezieht sich darauf, wie NumPy Arrays unterschiedlicher Dimensionen während arithmetischer Operationen verarbeitet. Das kleinere Array wird innerhalb bestimmter Grenzen über das größere Array „broadcastet“, um sicherzustellen, dass ihre Formen konsistent sind. Broadcasting ermöglicht Ihnen die Vektorisierung Array-Operationen, sodass Sie eine Schleife in C anstelle von Python durchführen können
Dies wird ohne die Notwendigkeit unnötiger Datenkopien erreicht, was zu effizienten Algorithmusimplementierungen führt. In manchen Fällen ist Broadcasting eine negative Idee, da es zu einer verschwenderischen Speichernutzung führt, die die Berechnung verlangsamt.In diesem Artikel zeigen wir Ihnen, wie Sie mit Python Broadcasting mit NumPy-Arrays durchführen.
在给定数组上执行广播的步骤-
- Schritt 1. Erstellen Sie zwei Arrays mit kompatiblen Abmessungen
- Schritt 2. Drucken Sie das angegebene Array aus
- Schritt 3. Führen Sie eine arithmetische Operation mit den beiden Arrays durch
- Schritt 4. Drucken Sie das Ergebnisarray aus
使用arange()函数创建一个由0到n-1的数字组成的numpy数组(arange()函数返回在给定区间内均匀间隔的值。在半开区间[start, stop]内生成值),并将某个常数值加到其中.
Beispiel
import numpy as np
# Getting list of numbers from 0 to 7
givenArray = np.arange(8)
# Adding a number to the numpy array
result_array = givenArray + 9
print("The input array",givenArray)
print("Result array after adding 9 to the input array",result_array)
Nach dem Login kopieren
输出import numpy as np # Getting list of numbers from 0 to 7 givenArray = np.arange(8) # Adding a number to the numpy array result_array = givenArray + 9 print("The input array",givenArray) print("Result array after adding 9 to the input array",result_array)
The input array [0 1 2 3 4 5 6 7]
Result array after adding 9 to the input array [ 9 10 11 12 13 14 15 16]
Nach dem Login kopieren
给定的数组有一个维度(轴),长度为8,而9是一个没有维度的简单整数.由于它们的维度不同,Numpy尝试沿着某个轴广播(只是拉伸)较小的数组,使其适用于数学运算.The input array [0 1 2 3 4 5 6 7] Result array after adding 9 to the input array [ 9 10 11 12 13 14 15 16]
将具有兼容维度的两个数组相加
Erstellen von zwei NumPy-Arrays von 0 bis n-1 mit der Funktion arange() und Umformen mit der Funktion reshape() (formt ein Array um, ohne seine Daten zu beeinflussen). Die beiden Arrays haben kompatible Dimensionen (3,4) und (3,1) und fügen die entsprechenden Elemente beider Arrays hinzu.
Beispiel
import numpy as np
# Getting the list of numbers from 0 to 11 and reshaping it to 3 rows and 4 columns
givenArray_1 = np.arange(12).reshape(3, 4)
# Printing the shape(rowsize, columnsize) of array
print("The shape of Array_1 = ", givenArray_1.shape)
# Getting list of numbers from 0 to 2 and reshaping it to 3 rows and 1 columns
givenArray_2 = np.arange(3).reshape(3, 1)
print("The shape of Array_2 = ", givenArray_2.shape)
# Summing both the arrays
print("Input array 1 \n",givenArray_1)
print("Input array 2 \n",givenArray_2)
print("Summing both the arrays:")
print(givenArray_1 + givenArray_2)
Nach dem Login kopieren
输出import numpy as np # Getting the list of numbers from 0 to 11 and reshaping it to 3 rows and 4 columns givenArray_1 = np.arange(12).reshape(3, 4) # Printing the shape(rowsize, columnsize) of array print("The shape of Array_1 = ", givenArray_1.shape) # Getting list of numbers from 0 to 2 and reshaping it to 3 rows and 1 columns givenArray_2 = np.arange(3).reshape(3, 1) print("The shape of Array_2 = ", givenArray_2.shape) # Summing both the arrays print("Input array 1 \n",givenArray_1) print("Input array 2 \n",givenArray_2) print("Summing both the arrays:") print(givenArray_1 + givenArray_2)
The shape of Array_1 = (3, 4)
The shape of Array_2 = (3, 1)
Input array 1
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11] ]
Input array 2
[[0]
[1]
[2]]
Summing both the arrays:
[[ 0 1 2 3]
[ 5 6 7 8]
[10 11 12 13]]
Nach dem Login kopieren
Das gegebene Array_2 wird entlang der zweiten Dimension erweitert, um der Dimension von gegebenem Array_1 zu entsprechen. Da die Abmessungen beider Arrays kompatibel sind, ist dies möglich.The shape of Array_1 = (3, 4) The shape of Array_2 = (3, 1) Input array 1 [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] ] Input array 2 [[0] [1] [2]] Summing both the arrays: [[ 0 1 2 3] [ 5 6 7 8] [10 11 12 13]]
将具有不兼容维度的两个数组求和
Erstellen von zwei NumPy-Arrays mit INKOMPATIBELEN Dimensionen (6, 4) und (6, 1). Wenn wir versuchen, die entsprechenden Elemente beider Arrays hinzuzufügen, wird ein FEHLER angezeigt, wie unten gezeigt.
Beispiel
import numpy as np
# Getting a list of numbers from 0 to 11 and reshaping it to 3 rows and 4 columns
givenArray_1 = np.arange(20).reshape(6, 4)
# Printing the shape(rowsize, columnsize) of array
print("The shape of Array_1 = ", givenArray_1.shape)
# Getting list of numbers from 0 to 5 and reshaping it to 3 rows and 1 columns
givenArray_2 = np.arange(6).reshape(6, 1)
print("The shape of Array_2 = ", givenArray_2.shape)
# Summing both the arrays
print("Summing both the arrays:")
print(givenArray_1 + givenArray_2)
Nach dem Login kopieren
输出import numpy as np # Getting a list of numbers from 0 to 11 and reshaping it to 3 rows and 4 columns givenArray_1 = np.arange(20).reshape(6, 4) # Printing the shape(rowsize, columnsize) of array print("The shape of Array_1 = ", givenArray_1.shape) # Getting list of numbers from 0 to 5 and reshaping it to 3 rows and 1 columns givenArray_2 = np.arange(6).reshape(6, 1) print("The shape of Array_2 = ", givenArray_2.shape) # Summing both the arrays print("Summing both the arrays:") print(givenArray_1 + givenArray_2)
Traceback (most recent call last):
File "main.py", line 3, in
givenArray_1 = np.arange(20).reshape(6, 4)
ValueError: cannot reshape array of size 20 into shape (6,4)
Nach dem Login kopieren
行数为6,列数为4。Traceback (most recent call last): File "main.py", line 3, in givenArray_1 = np.arange(20).reshape(6, 4) ValueError: cannot reshape array of size 20 into shape (6,4)
Es kann nicht in eine Matrix der Größe 20 eingefügt werden (es ist eine Matrix der Größe 6*4 = 24 erforderlich).
Summieren von mehrdimensionalen Numpy-Arrays und linearen Arrays
Erstellen Sie ein mehrdimensionales Array mit der Funktion arange() und formen Sie es mit der Funktion reshape() in eine zufällige Anzahl von Zeilen und Spalten um. Erstellen Sie ein weiteres lineares Array mit der Funktion arange() und summieren Sie beide Arrays.
Beispiel 1
import numpy as np
# Getting list of numbers from 0 to 14 and reshaping it to 5 rows and 3 columns
givenArray_1 = np.arange(15).reshape(5, 3)
# Printing the shape(rowsize, columnsize) of array
print("The shape of Array_1 = ", givenArray_1.shape)
# Getting list of numbers from 0 to 2
givenArray_2 = np.arange(3)
print("The shape of Array_2 = ", givenArray_2.shape)
# Summing both the arrays
print("Array 1 \n",givenArray_1)
print("Array 2 \n",givenArray_2)
print("Summing both the arrays: \n",givenArray_1 + givenArray_2)
Nach dem Login kopieren
输出import numpy as np # Getting list of numbers from 0 to 14 and reshaping it to 5 rows and 3 columns givenArray_1 = np.arange(15).reshape(5, 3) # Printing the shape(rowsize, columnsize) of array print("The shape of Array_1 = ", givenArray_1.shape) # Getting list of numbers from 0 to 2 givenArray_2 = np.arange(3) print("The shape of Array_2 = ", givenArray_2.shape) # Summing both the arrays print("Array 1 \n",givenArray_1) print("Array 2 \n",givenArray_2) print("Summing both the arrays: \n",givenArray_1 + givenArray_2)
The shape of Array_1 = (5, 3)
The shape of Array_2 = (3,)
Array 1
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]]
Array 2
[0 1 2]
Summing both the arrays:
[[ 0 2 4]
[ 3 5 7]
[ 6 8 10]
[ 9 11 13]
[12 14 16]]
Nach dem Login kopieren
给定的线性数组被扩展以匹配给定数组1(多维数组)的维度.由于两个数组的维度是兼容的,这是可能的.The shape of Array_1 = (5, 3) The shape of Array_2 = (3,) Array 1 [[ 0 1 2] [ 3 4 5] [ 6 7 8] [ 9 10 11] [12 13 14]] Array 2 [0 1 2] Summing both the arrays: [[ 0 2 4] [ 3 5 7] [ 6 8 10] [ 9 11 13] [12 14 16]]
Beispiel 2
import numpy as np
givenArray_1 = np.arange(240).reshape(6, 5, 4, 2)
print("The shape of Array_1: ", givenArray_1.shape)
givenArray_2 = np.arange(20).reshape(5, 4, 1)
print("The shape of Array_2: ", givenArray_2.shape)
# Summing both the arrays and printing the shape of it
print("Summing both the arrays and printing the shape of it:")
print((givenArray_1 + givenArray_2).shape)
Nach dem Login kopieren
输出import numpy as np givenArray_1 = np.arange(240).reshape(6, 5, 4, 2) print("The shape of Array_1: ", givenArray_1.shape) givenArray_2 = np.arange(20).reshape(5, 4, 1) print("The shape of Array_2: ", givenArray_2.shape) # Summing both the arrays and printing the shape of it print("Summing both the arrays and printing the shape of it:") print((givenArray_1 + givenArray_2).shape)
The shape of Array_1: (6, 5, 4, 2)
The shape of Array_2: (5, 4, 1)
Summing both the arrays and printing the shape of it:
(6, 5, 4, 2)
Nach dem Login kopieren
Es ist wichtig zu verstehen, dass mehrere Arrays über mehrere Dimensionen verteilt werden können. Array1 hat die Dimensionen (6, 5, 4, 2), während Array2 die Dimensionen (5, 4, 1) hat. Das Dimensionsarray wird gebildet, indem Array1 entlang der dritten Dimension und Array2 entlang der ersten und zweiten Dimension (6, 5, 4, 2) gestreckt wird.The shape of Array_1: (6, 5, 4, 2) The shape of Array_2: (5, 4, 1) Summing both the arrays and printing the shape of it: (6, 5, 4, 2)
结论
Numpy hat eine neue Version von Numpy entwickelt字添加到数组中的每个元素,而不是使用广播方法.这种方式之所以慢两个原因: Die Verwendung von Python und die Verwendung von C-Dateien.将步幅设置为0允许您无限循环遍历组件,而不会产生内存开销.
Das obige ist der detaillierte Inhalt vonWie führe ich eine Numpy-Übertragung mithilfe eines dynamischen Arrays mit Python durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

Als Datenprofi müssen Sie große Datenmengen aus verschiedenen Quellen verarbeiten. Dies kann Herausforderungen für das Datenmanagement und die Analyse darstellen. Glücklicherweise können zwei AWS -Dienste helfen: AWS -Kleber und Amazon Athena.

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

FRAGE: Wie kann man die Redis -Server -Version anzeigen? Verwenden Sie das Befehlszeilen-Tool-REDIS-CLI-Verssion, um die Version des angeschlossenen Servers anzuzeigen. Verwenden Sie den Befehl "Info Server", um die interne Version des Servers anzuzeigen, und muss Informationen analysieren und zurückgeben. Überprüfen Sie in einer Cluster -Umgebung die Versionskonsistenz jedes Knotens und können automatisch mit Skripten überprüft werden. Verwenden Sie Skripte, um die Anzeigeversionen zu automatisieren, z. B. eine Verbindung mit Python -Skripten und Druckversionsinformationen.

Die Kennwortsicherheit von Navicat beruht auf der Kombination aus symmetrischer Verschlüsselung, Kennwortstärke und Sicherheitsmaßnahmen. Zu den spezifischen Maßnahmen gehören: Verwenden von SSL -Verbindungen (vorausgesetzt, dass der Datenbankserver das Zertifikat unterstützt und korrekt konfiguriert), die Navicat regelmäßig Aktualisierung unter Verwendung von sichereren Methoden (z. B. SSH -Tunneln), die Einschränkung von Zugriffsrechten und vor allem niemals Kennwörter aufzeichnen.
