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 ('Ursprünglicher Array:')
print (a )
print ('\n')
 
print ('对换数组:')
print (np.transpose(a))

Die folgenden Ergebnisse werden ausgegeben:

Ursprünglicher Array:
[[ 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 ('Ursprünglicher Array:')
print (a)
print ('\n')
 
print ('转置数组:')
print (a.T)

Die folgenden Ergebnisse werden ausgegeben:

Ursprünglicher Array:
[[ 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:Arrayaxis:Der zu rollende Achse, die relative Position der anderen Achsen ändert sich nichtstart:Standard ist null, was bedeutet, dass eine vollständige Rotation stattfindet. Es wird zu einem bestimmten Ort gerollt.

import numpy as np
 # created a three-dimensional ndarray
a = np.arange(8).reshape(2,2,2)
 
print ('Ursprünglicher Array:')
print (a)
print ('\n')
 # roll axis 2 roll axis 0 (width to depth)
 
print ('Aufruf der Funktion rollaxis:')
print (np.rollaxis(a,2))
 # roll axis 0 to axis 1:(Breite zu Höhe)
print ('\n')
 
print ('Aufruf der Funktion rollaxis:')
print (np.rollaxis(a,2,1))

Die folgenden Ergebnisse werden ausgegeben:

Ursprünglicher Array:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
Aufruf der Funktion rollaxis:
[[[0 2]
  [4 6]]
 [[1 3]
  [5 7]]]
Aufruf der Funktion rollaxis:
[[[0 2]
  [1 3]]
 [[4 6]
  [5 7]]]

numpy.swapaxes

numpy.swapaxes-Funktion wird verwendet, um die beiden Achsen des Arrays zu tauschen, Format wie folgt:

numpy.swapaxes(arr, axis1, axis2)

arr:输入的数组axis1:对应第一个轴的整数axis2:对应第二个轴的整数

import numpy as np 
 # created a three-dimensional ndarray
a = np.arange(8).reshape(2,2,2)
 
print ('Ursprünglicher Array:')
print (a)
print ('\n')
 # now swap axis 0 (depth direction) to axis 2(Breite-Richtung)
 
print ('Der Array nach dem Aufruf der Funktion swapaxes:')
print (np.swapaxes(a, 2, 0))

Die folgenden Ergebnisse werden ausgegeben:

Ursprünglicher Array:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
Der Array nach dem Aufruf der Funktion swapaxes:
[[[0 4]
  [2 6]]
 [[1 5]
  [3 7]]]