Как поменять местами две строки в массиве numpy (с примером)


Вы можете использовать следующий базовый синтаксис для замены двух строк в массиве NumPy:

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

В этом конкретном примере будут заменены первая и четвертая строки массива NumPy под названием some_array .

Все остальные линии останутся в исходном положении.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: поменять местами две строки в массиве NumPy

Предположим, у нас есть следующий массив NumPy:

 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]]

Мы можем использовать следующий синтаксис, чтобы поменять местами первую и четвертую строки массива NumPy:

 #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]]

Обратите внимание, что первая и четвертая строки поменялись местами.

Все остальные ряды остались в исходном положении.

Обратите внимание, что some_array[[0, 3]] — это сокращение от some_array[[0, 3], :] поэтому мы могли бы также использовать следующий синтаксис для достижения тех же результатов:

 #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]]

Обратите внимание, что первая и четвертая строки поменялись местами.

Этот результат соответствует результату, полученному с использованием сокращенной записи в предыдущем примере.

Не стесняйтесь использовать любое обозначение, которое вы предпочитаете, чтобы поменять местами две строки в заданном массиве NumPy.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в NumPy:

Как удалить повторяющиеся элементы в массиве NumPy
Как заменить элементы в массиве NumPy
Как упорядочить элементы в массиве NumPy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *