Ads by ProfitSence
Close

Shift von Elementen in einem Numpy-Array

Last Updated on Donnerstag 6. Okt. 2022

numpy roll

np roll

Die Funktion numpy.roll() rollt Arrayelemente entlang der angegebenen Achse. Wenn ein Element zuerst an die letzte Position gerollt wird, wird es auf die erste Position zurückgesetzt.

			
					numpy.roll(a, shift, axis=None)

			
	

python np roll

Parameters

  • a : array_like - Input array.
  • shift : int oder tuple von ints
  • axis : int oder tuple von ints, optional

python shift array

numpy shift

Die NumPy roll() Funktion ist unter NumPy definiert, die als Import NumPy als np importiert werden kann, und wir können mehrdimensionale Arrays erstellen und andere mathematische Statistiken mit Hilfe von NumPy ableiten, einer Bibliothek in Python

			
					import numpy as np

array = np.array([1,2,3,4,5])

op_arr = np.roll(array, 2)
print(op_arr)

			
	
  • Wir haben das Array zuerst mit der Funktion np.array() erstellt.
  • Wir haben dann die Elemente mit der Funktion np.roll() nach rechts verschoben und das resultierende Array in 'op_arr' gespeichert.
			
					[4 5 1 2 3]

			
	

array shift python

NumPy Shift Array With the Slicing Method in Python

			
					import numpy as np
array = np.array([1,2,3,4,5])
num = 3
fill_value = 0

def shift(arr, num, fill_value):
    result = np.empty_like(arr)
    if num > 0:
        result[:num] = fill_value
        result[num:] = arr[:-num]
    elif num < 0:
        result[num:] = fill_value
        result[:num] = arr[-num:]
    else:
        result[:] = arr
    return result

shift(array, num, fill_value)

			
	

python array shift right

  • Wir müssen die Array-Slicing-Methode in Python verwenden
  • Wenn der Verschiebungswert positiv ist, füllen wir die linke Seite des Arrays mit dem konstanten Wert.
  • Wenn der Verschiebungswert negativ ist, füllen wir die rechte Seite des Arrays mit dem konstanten Wert.
  • num - Anzahl der Indizes Wir möchten unsere Array-Elemente verschieben
  • fill_value - Ersetzen Sie alle verschobenen Indizes durch.
			
					[0, 0, 0, 1, 2]

			
	

python shift elements in list

			
					import numpy as np
array = np.array([1,2,3,4,5])
num = 3
fill_value = 0

def shift(arr, num, fill_value=np.nan):
    if num >= 0:
        return np.concatenate((np.full(num, fill_value), arr[:-num]))
    else:
        return np.concatenate((arr[-num:], np.full(-num, fill_value)))

print(shift(array, num, fill_value))

			
	

np.concatenate - Verkettung bezieht sich auf das Verbinden. Diese Funktion wird verwendet, um zwei oder mehr Arrays derselben Form entlang einer angegebenen Achse zu verbinden. Die Funktion akzeptiert die folgenden Parameter.

  • num - Anzahl der Indizes Wir möchten unsere Array-Elemente verschieben
  • fill_value - Ersetzen Sie alle verschobenen Indizes durch.
			
					numpy.concatenate((a1, a2,...), axis)

			
	
			
					[0, 0, 0, 1, 2]