OverflowError: Python int too large to convert to C long
번역 : "Python int가 너무 커서 C long으로 변환할 수 없습니다."
예
import pandas as pd
s = pd.Series(['100000000000', '2000000000000'])
s
0 100000000000
1 2000000000000
dtype: object
s는 자료형이 object이고 문자열로 이루어져 있다
s를 정수로 바꾸고 싶다. 아래와 같은 코드를 쓰면 되겠지만 큰 숫자라서 다음과 같은 에러가 난다
s.astype('int')
OverflowError: Python int too large to convert to C long
이것은 astype('int')가 int32로 변환하기 때문이고
int32가 나타낼 수 있는 범위는 -2,147,483,648에서 2,147,483,647이기 때문이다
이럴 때는 'int64'로 바꿔주자
s.astype('int64')
output:
0 100000000000
1 2000000000000
dtype: int64
int64는 아래와 같은 범위의 숫자를 감당할 수 있다
- 9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
유튜브에서 판다스 강의 중입니다
https://www.youtube.com/@KimPandas
'여러 가지 이야기 > 에러 모음' 카테고리의 다른 글
ValueError: pattern contains no capture groups (0) | 2023.08.09 |
---|---|
TypeError: unhashable type: 'set' (0) | 2023.08.07 |
TypeError: '<' not supported between instances of 'str' and 'int' (0) | 2023.08.07 |
TypeError: '<' not supported between instances of 'type' and 'type' (0) | 2023.08.07 |
TypeError: Index(...) must be called with a collection of some kind, 'col1' was passed (0) | 2023.07.10 |