• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    해결됨

',' 구분자 제거하고 파일읽기 문의

20.08.27 21:06 작성 조회수 424

1

처음에 파일을 읽을때 ' , ' 를 제거하는 방법이 있나요?

분양가격(㎡) 컬럼에 콤마가 있어서 판다 결과랑 엑셀에서 직접 확인한 결과랑, 갯수 차이가 있어서 제가 뭘 잘못한줄 알았습니다. 엑셀상에서는 "분양가격(㎡)" 의 숫자인 row를 count가 4033 로 확인됩니다. 함수 몇가지 사용해서 계산했구요. 그래서 아래 옵션을 추가해서 판다를 실행하니, 엑셀과 판다 결과가 4033으로 같았습니다.

df_last['분양가격'] = pd.to_numeric(df_last["분양가격(㎡)"].str.replace(',', ''), errors='coerce')

구글링에는 thousands = ','  옵션으로 읽으라는데, 잘 안되더라구요, csv 파일 읽을때 콤마 제거하고 읽기 가능한지 답변 부탁드립니다.

답변 3

·

답변을 작성해보세요.

1

MIKE.aeon님의 프로필

MIKE.aeon

질문자

2020.08.28

답변 감사합니다.

0

감사합니다 :)

0

안녕하세요.

분양가격 데이터의 천단위 , 는 object type의 데이터인데  pd.to_numeric 으로 변환했을 때만 변환이 되는건 빈문자열이 섞여있기 때문이에요. 하지만 판다스에서는 이런 빈문자나 공백도 문자열로 인식하기 때문에 object 타입으로 불러오게 됩니다.

그래서 pd.to_numeric 으로 변환을 할때도 errors='coerce' 옵션을 주지 않으면 변환이 되지 않습니다.

thousands = ','   옵션은 숫자타입일 때 천 단위에 , 를 넣어서 읽어오라는 의미입니다.

숫자타입의 데이터에만 적용을 할 수 있는데 여기에서 분양가격은 object 타입이라 해당 옵션을 적용할 수 없습니다.

데이터를 로드할 때 타입을 지정해서 불러올 수 있는 방법도 있지만 분양가격 컬럼의 경우 문자열이 섞여있기 때문에 불가능 합니다.

그래서 아쉽게도 질문주신 , 를 제거하고 불러오는 기능은 아직까지는 없는 것 같습니다.