inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

단 두 장의 문서로 데이터 분석과 시각화 뽀개기

데이터 전처리중 invalid literal for int() with base 10: '' 에러 문제

해결된 질문

305

Jason Chung

작성한 질문수 11

1

안녕하세요. 강사님 

표제 관련하여 현장 업무 적용해 보려고 하는데, 제목과 같은 에러가 떠서요. 

기본 Data set은 아래와 같고요. 

입금 부분을 아래와 같이 천단위 없이 변경하려고 하였는데, 제목과 같은 에러가 떠서요.

df type은  object입니다.  

df['입금'] = df['입금'].str.replace(',','').fillna(0).astype('int64')

인터넷을 찾아보니, Blank로 되어 있어서 그렇다고 하는데 , Fillna(0)이 있으면 

해당 칼럼을 전부 0으로 바꾸어 주는 것이 아닌지요. 

강의 들을 때와 다르게 실제 파일 적용하려니 상황이 달라서 그런지 시각화 하기도 전부터

막힙니다. 도와주세요.   

python pandas

답변 1

0

박조은

안녕하세요.

각 과정을 나누어서 처리 하시는걸 권장드려요.

메소드 체이닝을 사용하면 코드 한 줄에 처리가 되어 깔끔하긴 하지만 중간 과정을 보기 어렵습니다.

df['입금'] = df['입금'].str.replace(',','')

df['입금'] = df['입금'].fillna(0) # 이 처리 후에 값이 잘 들어갔는지 확인해 보세요.

df['입금'] = df['입금'].astype('int64')

아마도 결측치 때문에 데이터 타입이 float 형태로 되어 있을 수도 있습니다.

pd.to_numeric 으로 변환해 보시는 방법을 사용해 보세요.

pd.to_numeric 으로 변환하시면 fillna  과정 없이도 수치 데이터로 변경될거에요.

또, 금액이 없는데 0을 일괄적으로 넣어주게 되면 평균이나 중앙값 등의 계산을 할 때 제대로 계산이 안 됩니다.

결측치는 결측치 그대로 남겨두시는게 나중에 계산을 위해 더 나은 방법입니다.

날짜변환 에러

0

259

0

업로드자료 오류

1

373

1

20강 관련 문의드립니다.

1

299

1

17강 도입부 실습사이트 문의

2

298

1

4강 코드 오류메세지 관련 질의

1

374

2

merge와 그룹바이 관련 질문이 있습니다.

1

494

3

쉬운 도서 추천 좀 부탁드립니다.

2

393

2

1강2강에 있는 csv파일을 다운받으면 한글이 깨져서 나와요

1

251

1

주피터노트북 목록(contents) 만들기

1

632

1

df.loc[df["거주지"].isin(gu), "지역"] = df["거주지"] 질문있습니다

1

207

1

월 주 함꼐 value_counts()

1

224

1

day_count.iloc[i]와 day_count[i]의 차이 질문

1

350

1

df 인덱싱 질문입니다

1

184

1

그래프에 한글제목을 나타내고 싶습니다.

1

535

1

배운 것 기반으로 만들어보고 있는데 질문이 있습니다.

1

404

5

질문이요

1

300

1

set_index()

1

287

1

timeit 관련 질문

1

363

1

그래프 밑에 제목을 넣으려면 어떡해야하나요???

1

421

2

한글폰트 설치 후 나오지 않는 현상 문의

1

1171

3

CSV 파일 불러오기

1

573

1

크롤링으로 csv파일 가져오기

2

319

1

영상에서 소개해주시는 웹사이트

2

260

1

질문

1

228

2