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

NumPy 배열 뒤집기

일반적인 배열 반전 방법 등

함수설명
transpose교환 배열의 축
ndarray.Tself.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:기본적으로 0입니다. 전체 롤링을 의미합니다. 특정 위치로 롤링합니다.

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