[pandas] TypeError: unsupported operand type(s) for *: 'float' and 'decimal.Decimal' 해결기
·
Python/pandas
문제 발단 rel(상관 O) 컬럼의 값에는 1을, irrel(상관 X) 컬럼의 값에는 -0.2 값을 곱하여 더한 뒤, total_cnt로 나눠 표준화를 하고자 할 때 아래 코드를 사용했다. df['score'] = df.apply(lambda x: (x['rel']*1 - 0.2*x['irrel'])/x['total_cnt'], axis=1) 이때 발생했던 오류가 바로 TypeError: unsupported operand type(s) for *: 'float' and 'decimal.Decimal' 이다. 해당 오류는 pandas의 DataFrame에 .apply() 메서드를 사용할 때 발생했던 오류로, 파이썬에서 float 타입과 decimal.Decimal 타입 사이의 연산을 지원하지 않기 때문에..