728x90
반응형
TypeError: cannot perform reduce with flexible type
주로, python list 내 숫자값을 연산하는 과정에서 생기는 오류로 내부에 숫자형이 아닌 다른 값(ex. string type)이 들어가 있으면 나오는 에러다.
내 경우엔 아래처럼 np.min()연산을 사용하는 과정 중에 발생했고, 실제로 해당 값을 출력해보니 숫자값이 아닌 문자형 데이터가 들어가 있는 것을 확인하였다
np.min(a[0::2])
print(a[0::2])#['108', '42', '211', '42', '211', '62', '108', '62']
list의 내부 값이 다 "" 따옴표로 묶여있는 string값인데, 미처 앞에서 int형으로 바꿔주지 않았던 것 같다.
아래와 같은 두 가지 방법으로 내부 값을 string이 아닌 숫자형으로 바꿔주면 된다.
#1. list 내부 값을 int로 바꿔주기
new = [int(val) for val in a]
# np array라면 한번에 바꿔주기
import numpy as np
new = a.astype(np.int64)
728x90
반응형