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

Обратное обращение массива NumPy

Обычные методы переворачивания массивов и т.д.

ФункцияОписание
transposeИзменить размерности массива
ndarray.Tи self.transpose() одинаковы
rollaxisПереместить указанную ось
swapaxesПереместить два оси массива

numpy.transpose

Функция numpy.transpose используется для изменения размеров массива, формат如下:

numpy.transpose(arr, axes)

Описание параметров:

arr:массив для обработкиaxes:список целых чисел, соответствующий размерности, обычно все размеры будут изменены.

import numpy as np
 
a = np.arange(12).reshape(3,4)
 
print('Исходный массив:')
print (a )
print('\n')
 
print ('Переместить массив: ')
print (np.transpose(a))

Результат вывода:

Исходный массив:
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
Переместить массив:
[[ 0 4 8]
 [ 1 5 9]
 [ 2 6 10]
 [ 3 7 11]]

numpy.ndarray.T подобен numpy.transpose:

import numpy as np
a = np.arange(12).reshape(3,4)
 
print('Исходный массив:')
print(a)
print('\n')
 
print ('Транспонировать массив: ')
print (a.T)

Результат вывода:

Исходный массив:
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
Транспонировать массив:
[[ 0 4 8]
 [ 1 5 9]
 [ 2 6 10]
 [ 3 7 11]]

numpy.rollaxis

Функция numpy.rollaxis сдвигает указанную ось в заданную позицию, формат如下:

numpy.rollaxis(arr, axis, start)

Описание параметров:

arr:массивaxis:ось, по которой будет произведено скольжение, относительное положение других осей не изменяетсяstart:по умолчанию равно нулю, означает полное скольжение. Перемещается до определенной позиции.

import numpy as np
 # Создан массив с тремя измерениями ndarray
a = np.arange(8).reshape(2,2,2)
 
print('Исходный массив:')
print(a)
print('\n')
 # Переместить ось 2 в ось 0 (ширина в глубину)
 
print('Вызов функции rollaxis:')
print (np.rollaxis(a,2))
 # Переместить ось 0 в ось 1: (ширина в высоту)
print('\n')
 
print('Вызов функции rollaxis:')
print(np.rollaxis(a, 2, 1))

Результат вывода:

Исходный массив:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
Вызов функции rollaxis:
[[[0 2]
  [4 6]]
 [[1 3]
  [5 7]]]
Вызов функции rollaxis:
[[[0 2]
  [1 3]]
 [[4 6]
  [5 7]]]

numpy.swapaxes

Функция numpy.swapaxes используется для обмена двумя осями массива, формат如下:

numpy.swapaxes(arr, axis1, axis2)

arr: входной массивaxis1: целое число, соответствующее первой осиaxis2: целое число, соответствующее второму оси

import numpy as np 
 # Создан массив с тремя измерениями ndarray
a = np.arange(8).reshape(2,2,2)
 
print('Исходный массив:')
print(a)
print('\n')
 # Теперь меняем оси 0 ( 方向 глубины) на ось 2 ( 方 широты)
 
print('Массив после вызова функции swapaxes:')
print(np.swapaxes(a, 2, 0))

Результат вывода:

Исходный массив:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
Массив после вызова функции swapaxes:
[[[0 4]
  [2 6]]
 [[1 5]
  [3 7]]]