본문 바로가기
Python/numpy

넘파이 TypeError: can't concat a non-Numpy array 오류 해결하기

by PySun 2024. 10. 25.
반응형

소개

파이썬에서 NumPy를 사용할 때 'TypeError: can't concat a non-Numpy array' 오류가 발생하는 것은 꽤 흔한 일입니다. 이 오류 메시지는 NumPy 배열이 아닌 객체를 연결(concat)하려 할 때 나타납니다. 오늘은 이 오류의 원인과 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

이제 구체적으로 'TypeError: can't concat a non-Numpy array' 오류가 발생하는 예시 코드를 살펴보겠습니다. 아래 코드는 명확히 문제를 보여줍니다.

import numpy as np

# NumPy 배열 생성
arr1 = np.array([1, 2, 3])
arr2 = [4, 5, 6]  # 리스트를 생성

# 두 배열을 연결하려고 시도
result = np.concatenate((arr1, arr2))
print(result)

에러 해결 방법

1. 리스트를 NumPy 배열로 변환

가장 간단한 방법은 리스트를 NumPy 배열로 변환하는 것입니다. 이를 통해 두 배열을 함께 연결할 수 있습니다.

import numpy as np

# NumPy 배열 생성
arr1 = np.array([1, 2, 3])
arr2 = [4, 5, 6]  # 리스트를 생성

# 리스트를 NumPy 배열로 변환 후 연결
result = np.concatenate((arr1, np.array(arr2)))
print(result)

2. 모두 NumPy 배열로 유지

NumPy 배열이 아닌 객체가 결합되는 걸 방지하려면, 처음부터 모든 객체를 NumPy 배열로 생성하는 것이 좋습니다.

import numpy as np

# 모든 것을 NumPy 배열로 생성
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])  # NumPy 배열로 생성

# 두 개의 NumPy 배열 연결
result = np.concatenate((arr1, arr2))
print(result)

마무리

오늘은 NumPy에서 'TypeError: can't concat a non-Numpy array' 오류를 해결하는 방법에 대해 논의했습니다. 리스트를 NumPy 배열로 변환하거나 모든 객체를 NumPy 배열로 만들어서 이러한 오류를 예방할 수 있습니다. NumPy를 사용할 때 종류와 데이터 형식의 일관성을 유지하는 것이 중요하니, 언제나 신중하게 작업하시기 바랍니다!

반응형