해결 방법: 모든 입력 배열의 차원 수가 동일해야 합니다.


NumPy를 사용할 때 발생할 수 있는 오류는 다음과 같습니다.

 ValueError : all the input arrays must have same number of dimensions

이 오류는 서로 다른 차원의 두 NumPy 배열을 연결하려고 할 때 발생합니다.

다음 예에서는 실제로 이 오류를 수정하는 방법을 보여줍니다.

오류를 재현하는 방법

다음과 같은 두 개의 NumPy 배열이 있다고 가정합니다.

 import numpy as np

#create first array
array1 = np. array ([[1, 2], [3, 4], [5,6], [7,8]])

print (array1) 

[[1 2]
 [3 4]
 [5 6]
 [7 8]]

#create second array 
array2 = np. array ([9,10,11,12])

print (array2)

[9 10 11 12]

이제 concatenate() 함수를 사용하여 두 배열을 단일 배열로 결합하려고 한다고 가정합니다.

 #attempt to concatenate the two arrays
n.p. concatenate ([array1, array2])

ValueError : all the input arrays must have same number of dimensions, but the array at
index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)

두 배열의 차원이 다르기 때문에 ValueError 가 발생합니다.

오류를 수정하는 방법

이 오류를 해결하려면 두 가지 방법을 사용할 수 있습니다.

방법 1: np.column_stack 사용

오류를 피하면서 두 테이블을 연결하는 한 가지 방법은 다음과 같이 column_stack() 함수를 사용하는 것입니다.

 n.p. column_stack ((array1, array2))

array([[ 1, 2, 9],
       [3, 4, 10],
       [5, 6, 11],
       [7, 8, 12]])

오류 없이 두 배열을 성공적으로 연결할 수 있습니다.

방법 2: np.c_ 사용

다음과 같이 np.c_ 함수를 사용하여 오류를 피하면서 두 테이블을 연결할 수도 있습니다.

 n.p. c_ [array1, array2]

array([[ 1, 2, 9],
       [3, 4, 10],
       [5, 6, 11],
       [7, 8, 12]])

이 함수는 이전 메서드와 정확히 동일한 결과를 반환합니다.

추가 리소스

다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

Pandas에서 KeyError를 수정하는 방법
해결 방법: ValueError: float NaN을 int로 변환할 수 없습니다.
해결 방법: ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다