Hoe twee rijen in een numpy-array te wisselen (met voorbeeld)


U kunt de volgende basissyntaxis gebruiken om twee rijen in een NumPy-array om te wisselen:

 some_array[[ 0 , 3 ]] = some_array[[ 3 , 0 ]]

In dit specifieke voorbeeld worden de eerste en vierde rij van de NumPy-array met de naam some_array verwisseld.

Alle andere lijnen blijven op hun oorspronkelijke positie.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: verwissel twee rijen in een NumPy-array

Stel dat we de volgende NumPy-array hebben:

 import numpy as np

#create NumPy array
some_array = np. array ([[1, 1, 2], [3, 3, 7], [4, 3, 1], [9, 9, 5], [6, 7, 7]])

#view NumPy array
print (some_array)

[[1 1 2]
 [3 3 7]
 [4 3 1]
 [9 9 5]
 [6 7 7]]

We kunnen de volgende syntaxis gebruiken om de eerste en vierde rij van de NumPy-array om te wisselen:

 #swap rows 1 and 4
some_array[[ 0 , 3 ]] = some_array[[ 3 , 0 ]]

#view updated NumPy array
print (some_array)

[[9 9 5]
 [3 3 7]
 [4 3 1]
 [1 1 2]
 [6 7 7]]

Merk op dat de eerste en vierde regel zijn omgedraaid.

Alle andere rijen bleven op hun oorspronkelijke positie.

Merk op dat some_array[[0, 3]] een afkorting is voor some_array[[0, 3], :], dus we kunnen ook de volgende syntaxis gebruiken om dezelfde resultaten te bereiken:

 #swap rows 1 and 4
some_array[[ 0 , 3 ], :] = some_array[[ 3 , 0 ], :]

#view updated NumPy array
print (some_array)

[[9 9 5]
 [3 3 7]
 [4 3 1]
 [1 1 2]
 [6 7 7]]

Merk op dat de eerste en vierde regel zijn omgedraaid.

Dit resultaat komt overeen met het resultaat dat is verkregen met de verkorte notatie in het vorige voorbeeld.

Voel je vrij om de gewenste notatie te gebruiken om twee rijen in een bepaalde NumPy-array te verwisselen.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in NumPy kunt uitvoeren:

Hoe dubbele elementen in de NumPy-array te verwijderen
Hoe elementen in een NumPy-array te vervangen
Hoe elementen in de NumPy-array te bestellen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert