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

NumPy 배열 형태 수정

배열의 형태는 각 차원에서 요소의 수입니다.

배열의 형태를 얻기

출력 2-D 배열의 형태:

import numpy as np
arr = np.array([1, 2, 3, 4], [5, 6, 7, 8])
print(arr.shape)

실행 결과

(2, 4)

위의 예제가 반환하는 (2, 4)을 의미하며, 이는 배열이 2 차원, 각 차원은 4 개의 요소.

ndmin을 사용하여 값을 1,2,3,4 의 벡터 생성에 사용됩니다. 5 차원의 배열을 생성하고 마지막 차원의 값을 4:

import numpy as np
arr = np.array([1, 2, 3, 4, ndmin=5)
print(arr)
print('array shape:', arr.shape)

실행 결과

[[[[[1 2 3 4]]]]
array shape : (1, 1, 1, 1, 4)
튜플의 형태는 무엇을 의미하며?

각 인덱스에서의 정수는 해당 차원에서 가진 요소 수를 나타냅니다.
예제에서의 인덱스 4우리의 값은 4를 말할 수 있습니다. 5 개의 ( 4 + 1 차원 4 개의 요소.

배열 형태 수정

배열의 형태는 각 차원에서 요소의 수입니다. 배열의 형태를 수정하면 차원을 추가하거나 제거하거나 각 차원의 요소 수를 변경할 수 있습니다.

부터 1-D를 2-D

다음은 12 요소의 1-D 배열을 변환하여 2-D 배열.
가장 외부의 차원은 4 개의 배열이 있으며, 각 배열은 3 개의 요소:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(4, 3)
print(newarr)

실행 결과

[[ 1 2 3]
 [ 4 5 6]
 [ 7 8 9]
 [10 11 12]]

부터 1-D를 3-D

다음은 12 요소의 1-D 배열을 변환하여 3-D 배열.
가장 외부의 차원은 2 개의 배열이 있으며, 각 배열은 3 개의 배열이 있으며, 각 배열은 2 개의 요소:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(2, 3, 2)
print(newarr)

실행 결과

[[[ 1 2]
  [ 3 4]
  [ 5 6]]
 [[ 7 8]
  [ 9 10]
  [11 12]]
배열이 어떤 형태로 수정될 수 있을까요?

네, 두 형태에서 필요한 요소가 같다면.
다음은 8 개의 요소 1D 배열을重塑할 수 있습니다. 2 행 2D 배열에重塑할 수 없습니다. 4 개의 요소를 가진 3 개의 요소 3 행 2D 배열을 사용해야 할 것입니다. 3x3 = 9 개의 요소.

시도하여 요소를 가진 8 요소의 1D 数组转换为每个维度中具有 3 요소의 2D 배열(각 차원에 대해 요소를 가지는):

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(3, 3)
print(newarr)

실행 결과

D 배열(에러가 발생합니다):
  Traceback (most recent call last): 5File "test.py", line

, in

알 수 없는 차원
‘알 수 없는’ 차원을 사용할 수 있습니다.
이는 reshape 메서드에서 차원 중 하나에 정확한 숫자를 지정할 필요가 없다는 것을 의미합니다. -1 전달

을 값으로, NumPy는 이 숫자를 계산해 드립니다. 8 요소의 1D 배열을 변환하여 2x2 요소의 3D 배열:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(2, 2, -1)
print(newarr)

실행 결과

[[[1 2]
  [3 4]]
 [[5 6]
  [7 8]]
주의:다음은 변환할 수 없습니다. -1 한 이상의 차원에 전달됩니다.

배열 평면화

배열을 평면화하는 것은 다차원 배열을 원자 배열로 변환하는 것을 의미합니다. 1D 배열.
reshape()를 사용하여 배열을 변환할 수 있습니다.-1)을 통해 이를 할 수 있습니다.
배열을 변환하여 이를 할 수 있습니다. 1D 배열:

import numpy as np
arr = np.array([1, 2, 3], [4, 5, 6])
newarr = arr.reshape(-1)
print(newarr)

실행 결과

[1 2 3 4 5 6]

numpy flatten, ravel에서 배열 형태를 변경할 수 있는 많은 기능들이 있으며, 원소를 다시 정렬할 수 있는 rot도 있습니다.90, flip, fliplr, flipud 등. 이 기능들은 numpy의 중급에서 고급 부분에 속합니다.