Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich mit „np.c_[...]“ eine zusätzliche Spalte zu einem NumPy-Array hinzu?

Wie füge ich mit „np.c_[...]“ eine zusätzliche Spalte zu einem NumPy-Array hinzu?

Barbara Streisand
Barbara StreisandOriginal
2024-11-05 01:40:01795Durchsuche

How do I add an extra column to a NumPy array using `np.c_[...]`?

Hinzufügen einer zusätzlichen Spalte zu einem NumPy-Array

NumPy, eine leistungsstarke Bibliothek für wissenschaftliches Rechnen in Python, bietet eine Reihe von Manipulationsmethoden mehrdimensionale Daten. Dazu gehört die Aufgabe, einem Array eine zusätzliche Spalte hinzuzufügen. Lassen Sie uns untersuchen, wie Sie dies mithilfe spezieller NumPy-Funktionen erreichen können, die eine bequeme und effiziente Möglichkeit bieten, die Abmessungen Ihrer Arrays zu erweitern.

Mit np.r_[...] und np.c_[.. .]

Zum Hinzufügen einer zusätzlichen Spalte zu einem 2D-Array sind zwei nützliche NumPy-Funktionen np.r_[...] (zum Hinzufügen von Zeilen) und np.c_[...] (für Spalten hinzufügen). Im Gegensatz zu np.vstack und np.hstack verwenden diese Funktionen eckige Klammern [] anstelle von Klammern ().

Betrachten Sie das folgende 2D-Array:

<code class="python">import numpy as np

a = np.array([
    [1, 2, 3],
    [2, 3, 4],
])</code>

Um eine Spalte mit Nullen hinzuzufügen die zweite Achse mit np.c_[...]:

<code class="python">b = np.c_[a, np.zeros(a.shape[0])]</code>

Dies führt zur gewünschten Ausgabe:

<code class="python">b = np.array([
    [1, 2, 3, 0],
    [2, 3, 4, 0],
])</code>

Zusätzliche Beispiele

np.r_[...] und np.c_[...] bieten Vielseitigkeit beim Hinzufügen von Zeilen/Spalten zu Arrays. Hier sind einige weitere Beispiele:

<code class="python">N = 3
A = np.eye(N)

# Add a column
np.c_[A, np.ones(N)]

# Add two columns
np.c_[np.ones(N), A, np.ones(N)]

# Add a row
np.r_[A, [A[1]]]

# Mix vectors and scalars
np.r_[A[0], 1, 2, 3, A[1]]

# Use lists or tuples
np.r_[A[0], [1, 2, 3], A[1]]
np.r_[A[0], (1, 2, 3), A[1]]

# Use Python slice syntax
np.r_[A[0], 1:4, A[1]]</code>

Eckige Klammern vs. runde Klammern verstehen

Es ist wichtig zu beachten, dass np.r_[...] und np. c_[...] verwendet eckige Klammern, während np.vstack und np.hstack runde Klammern verwenden. Dies liegt daran, dass Python 1:4 als Slice-Objekt interpretiert, wenn es in eckigen Klammern verwendet wird. Dieses Slice-Objekt stellt die Werte 1, 2 und 3 dar, die dann dem Array hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWie füge ich mit „np.c_[...]“ eine zusätzliche Spalte zu einem NumPy-Array hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn