English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NumPy 数组添加和删除

Array-Additions- und Löschoperationen, die häufig verwendeten Funktionen sind wie folgt:

FunktionElement und Beschreibung
resizeGeben Sie ein neues Array der angegebenen Form zurück
appendFügen Sie den Wert am Ende des Arrays hinzu
insertFügen Sie den Wert an der angegebenen Achse an der angegebenen Indexposition ein
deleteEntfernen Sie die Untermenge eines Achsen und geben Sie das neue Array nach dem Entfernen zurück
uniqueSuchen Sie das einzigartige Element im Array

numpy.resize

numpy.resize 函数返回指定大小的新数组。

Die Funktion numpy.resize gibt ein neues Array der angegebenen Größe zurück.

Wenn die Größe des neuen Arrays größer als die ursprüngliche Größe ist, enthält es Kopien der Elemente des ursprünglichen Arrays.

Parameterbeschreibung:

numpy.resize(arr, shape)arr: Das Array, whose Größe geändert werden soll

import numpy as np
a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]]
print ('第一个数组:')
print (a)
print ('\n')
shape: Gibt die neue Form des Arrays zurück
print('Erste Array:')
print ('\n')
print(a.shape)4,2))
b = np.resize(a, (
b = np.resize(a,(
print ('\n')
print('Zweite Array:')
print('Form der zweiten Array:')
print ('\n')
 print(b.shape)
# Zu beachten ist, dass die erste Zeile von a in b mehrfach vorkommt, da die Größe vergrößert wurde
print('Die Größe der zweiten Array ändern:'))5,5))
b = np.resize(a,(

输出结果为:

第一个数组:
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]]
print(b)
Form der zweiten Array:2, 8)
Erste Array:
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
Zweite Array:
Form der zweiten Array:4, 2)
(
[[ 1 2 3 4 5]
 [ 6 7 8 4 5]
 [ 6 7 8 9 10]
 [11 1 2 3 4]
 [ 5 6 7 8 4]]

Die Größe der zweiten Array ändern:

numpy.append

Die Funktion numpy.append fügt Werte am Ende des Arrays hinzu. Der Anhängevorgang分配整个数组,并将原始数组复制到新数组中。 Außerdem muss die Dimension des Eingabearrays übereinstimmen,否则将生成ValueError.

Die Funktion append gibt immer einen eindimensionalen Array zurück.

Parameterbeschreibung:

arr: Eingabearraynumpy.append(arr, values, axis=None)values: Die Werte, die zu arr hinzugefügt werden sollen, müssen die gleiche Form haben wie arr (außer der zu hinzufügenden Achse)1axis: Standardwert ist None. Wenn axis nicht definiert ist, wird horizontal hinzugefügt und der Rückgabewert ist immer ein eindimensionaler Array! Wenn axis definiert ist, sind dies 0 und1wenn. Wenn axis definiert ist, sind dies 0 und1wenn (die Anzahl der Spalten muss gleich sein). Wenn axis

import numpy as np
a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]]
print ('第一个数组:')
print (a)
print ('\n')
wenn, dann wird das Array am rechten Ende hinzugefügt (die Anzahl der Zeilen muss gleich sein).
print(('Elemente zum Array hinzufügen:'))7,8,9))
print ('\n')
print(('Entlang der Achse 0 hinzufügen:'))
print((np.append(a, [[1,2,3,4,5,6,7,8]] , axis = 0)))
print ('\n')
print ('Entlang des Achses 1 Element hinzufügen:'))
print((np.append(a, [[5,5,5,5,5,5,5],[7,8,9,7,8,9,1]] , axis = 1))

输出结果为:

第一个数组:
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]]
Elemente zum Array hinzufügen:
[ 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 7 8 9]
Elemente entlang der Achse 0 hinzufügen:
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]
 [ 1 2 3 4 5 6 7 8]]
Entlang des Achses 1 Element hinzufügen:
[[ 1 2 3 4 5 6 7 8 5 5 5 5 5 5 5]
 [ 4 5 6 7 8 9 10 11 7 8 9 7 8 9 1]]

numpy.insert

Die Funktion numpy.insert fügt Werte vor einer angegebenen Indexposition entlang der angegebenen Achse in das Eingabearray ein.

Wenn der Typ der Werte in den zu insertierenden Typ konvertiert wird, ist er vom Eingabearray unterschiedlich. Der Insertionsvorgang ist nicht in situ, die Funktion gibt einen neuen Array zurück. Außerdem wird das Eingabearray ausgebreitet, wenn keine Achse angegeben ist.

numpy.insert(arr, obj, values, axis)

Parameterbeschreibung:

arr: Eingabearrayobj: Index, an dem die Werte vor ihnen eingefügt werden sollenvalues: Zu insertierende Werteaxis: Entlang dieses Achses wird der Wert eingefügt, wird nicht bereitgestellt, wird der Eingabearray ausgebreitet

import numpy as np
a = np.array([[1,2],[3,4],[5,6]]
 
print ('第一个数组:')
print (a)
print ('\n')
 
print ('Axis-Parameter nicht übergeben. Der Eingabearray wird vor dem Einfügen ausgebreitet.')
print (np.insert(a,3,11,12))
print ('\n')

 
print ('Entlang des Achses 0 broadcasten:'),
print (np.insert(a,1,11],axis = 0))
print ('\n')
 
print ('Entlang des Achses 1 Broadcast:)
print (np.insert(a,1,11,axis = 1))

Das Ausgaberesultat ist wie folgt:

第一个数组:
[[1 2]
 [3 4]
 [5 6]]
Axis-Parameter nicht übergeben. Der Eingabearray wird vor dem Einfügen ausgebreitet.
[ 1 2 3 11 12 4 5 6]
Axis-Parameter übergeben. Der Wertearray wird gebroadcastet, um den Eingabearray zu passen.
Entlang des Achses 0 broadcasten:
[[ 1 2]
 [11 11]
 [ 3 4]
 [ 5 6]]
Entlang des Achses 1 Broadcast:
[[ 1 11 2]
 [ 3 11 4]
 [ 5 11 6]]

numpy.delete

Die Funktion numpy.delete gibt eine neue Liste zurück, die den angegebenen Unterarray aus dem Eingabearray entfernt. Wie im Fall der Funktion insert(), wird der Eingabearray ausgebreitet, wenn der Achseparameter nicht bereitgestellt wird.

Numpy.delete(arr, obj, axis)

Parameterbeschreibung:

arr: Eingabearrayobj: Kann geschnitten, ganzzahlig oder ganzzahlige Liste sein, zeigt an, welchen Unterarray aus dem Eingabearray gelöscht werden sollaxis: Entfernt entlang dieses Achses den angegebenen Unterarray, wird nicht bereitgestellt, wird der Eingabearray ausgebreitet

import numpy as np
 
a = np.arange(12).reshape(3,4)
 
print ('第一个数组:')
print (a)
print ('\n')
 
print ('Axis-Parameter nicht übergeben. Der Eingabearray wird vor dem Einfügen ausgebreitet.')
print (np.delete(a,5))
print ('\n')
 
print ('Zweites Feld löschen:')
print (np.delete(a,1,axis = 1))
print ('\n')
 
print ('Enthält den Slice der Ersatzwerte, die aus dem Array entfernt wurden:')
a = np.array([1,2,3,4,5,6,7,8,9,10]
print (np.delete(a, np.s_[::2))

输出结果为:

第一个数组:
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
Axis-Parameter nicht übergeben. Der Eingabearray wird vor dem Einfügen ausgebreitet.
[ 0 1 2 3 4 6 7 8 9 10 11]
Zweites Feld löschen:
[[ 0 2 3]
 [ 4 6 7]
 [ 8 10 11]]
Enthält den Slice der Ersatzwerte, die aus dem Array entfernt wurden:
[ 2 4 6 8 10]

numpy.unique

Die Funktion numpy.unique wird verwendet, um wiederholte Elemente in einem Array zu entfernen.

numpy.unique(arr, return_index, return_inverse, return_counts)

arr: Eingabearray, wird ausgebreitet, wenn es nicht ein einziges Array istreturn_index: Wenn wahr, gibt die Position der neuen Listelemente in der alten Liste (Index) in Form einer Liste zurückreturn_inverse: Wenn wahr, gibt die Position der alten Listelemente in der neuen Liste (Index) in Form einer Liste zurückreturn_counts: Wenn wahr, gibt die Anzahl der Auftretens der Elemente im ursprünglichen Array in der eindeutigen Liste zurück

import numpy as np
 
a = np.array([5,2,6,2,7,5,6,8,2,9]
 
print ('第一个数组:')
print (a)
print ('\n')
 
print ('第一个数组的去重值:')
u = np.unique(a)
print (u)
print ('\n')
 
print ('去重数组的索引数组:')
u,indices = np.unique(a, return_index = True)
print (indices)
print ('\n')
 
print ('我们可以看到每个和原数组下标对应的数值:')
print (a)
print ('\n')
 
print ('去重数组的下标:')
u,indices = np.unique(a,return_inverse = True)
print (u)
print ('\n')
 
print ('下标为:')
print (indices)
print ('\n')
 
print ('使用下标重构原数组:')
print (u[indices])
print ('\n')
 
print ('返回去重元素的重复数量:')
u,indices = np.unique(a,return_counts = True)
print (u)
print (indices)

输出结果为:

第一个数组:
[5 2 6 2 7 5 6 8 2 9]
第一个数组的去重值:
[2 5 6 7 8 9]
去重数组的索引数组:
[1 0 2 4 7 9]
我们可以看到每个和原数组下标对应的数值:
[5 2 6 2 7 5 6 8 2 9]
去重数组的下标:
[2 5 6 7 8 9]
下标为:
[1 0 2 0 3 1 2 4 0 5]
使用下标重构原数组:
[5 2 6 2 7 5 6 8 2 9]
返回去重元素的重复数量:
[2 5 6 7 8 9]
[3 2 2 1 1 1]