728x90
반응형
TypeError: bad operand type for unary ~: 'float'
TypeError: bad operand type for unary ~: 'float' 오류는
부정 연산자 ~가 부동 소수점 수 (float)에 대해 사용되어 잘못된 피연산자 타입이라는 것을 나타낸다.
부정 연산자는 정수형 (int)에 대해서만 사용할 수 있다.
오류가 발생하는 경우를 보완하려면 부정 연산자를 정수형으로 사용해야 한다.
예를 들어, ~ 연산자를 사용하여 비트 단위의 보수를 계산하려면 정수형을 사용해야 한다.
부동 소수점 수에 대해 부정 연산을 수행하려는 경우에는 다른 방법을 사용해야 한다.
예를 들어, 부동 소수점 수를 비교하거나 조건을 확인하기 위해서는 비교 연산자(<, >, <=, >=, ==, !=)를 사용해야 한다.
아래는 위 에러가 발생할 수 있는 예시와 그에 대한 수정 코드이다.
import pandas as pd
# 샘플 데이터프레임 생성
df = pd.DataFrame({'A': [1.5, 2.7, 3.8, 4.1, 5.3]})
# 데이터프레임의 열에 부정 연산 적용
df['B'] = ~df['A'] # 오류 발생
print(df)
올바르게 수정된 코드
import pandas as pd
# 샘플 데이터프레임 생성
df = pd.DataFrame({'A': [1.5, 2.7, 3.8, 4.1, 5.3]})
# 데이터프레임의 열에 부정 연산 적용 (수정)
df['B'] = df['A'].apply(lambda x: int(~x)) # 부동 소수점 수를 정수로 변환한 후 부정 연산 적용
print(df)
728x90
반응형
'에러해결 > PYTHON' 카테고리의 다른 글
import win32com.client 에러 dll load failed (0) | 2023.08.01 |
---|---|
SettingWithCopyWarning (경고 메세지 안뜨게 하기) (1) | 2023.07.20 |
TypeError: ‘in ‘ requires string as left operand, not Series (2) | 2023.07.18 |
selenium 크롤링 엑셀 다운로드가 안되는 현상 (0) | 2023.07.12 |
pywintypes.com_error: (-2147221164, '클래스가 등록되지 않았습니다.', none, none) (1) | 2023.04.17 |