-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
해결됨
',' 구분자 제거하고 파일읽기 문의
20.08.27 21:06 작성 조회수 424
1
처음에 파일을 읽을때 ' , ' 를 제거하는 방법이 있나요?
분양가격(㎡) 컬럼에 콤마가 있어서 판다 결과랑 엑셀에서 직접 확인한 결과랑, 갯수 차이가 있어서 제가 뭘 잘못한줄 알았습니다. 엑셀상에서는 "분양가격(㎡)" 의 숫자인 row를 count가 4033 로 확인됩니다. 함수 몇가지 사용해서 계산했구요. 그래서 아래 옵션을 추가해서 판다를 실행하니, 엑셀과 판다 결과가 4033으로 같았습니다.
df_last['분양가격'] = pd.to_numeric(df_last["분양가격(㎡)"].str.replace(',', ''), errors='coerce')
구글링에는 thousands = ',' 옵션으로 읽으라는데, 잘 안되더라구요, csv 파일 읽을때 콤마 제거하고 읽기 가능한지 답변 부탁드립니다.
답변을 작성해보세요.
1
0
0
박조은
지식공유자2020.08.27
안녕하세요.
분양가격 데이터의 천단위 , 는 object type의 데이터인데 pd.to_numeric 으로 변환했을 때만 변환이 되는건 빈문자열이 섞여있기 때문이에요. 하지만 판다스에서는 이런 빈문자나 공백도 문자열로 인식하기 때문에 object 타입으로 불러오게 됩니다.
그래서 pd.to_numeric 으로 변환을 할때도 errors='coerce' 옵션을 주지 않으면 변환이 되지 않습니다.
thousands = ',' 옵션은 숫자타입일 때 천 단위에 , 를 넣어서 읽어오라는 의미입니다.
숫자타입의 데이터에만 적용을 할 수 있는데 여기에서 분양가격은 object 타입이라 해당 옵션을 적용할 수 없습니다.
데이터를 로드할 때 타입을 지정해서 불러올 수 있는 방법도 있지만 분양가격 컬럼의 경우 문자열이 섞여있기 때문에 불가능 합니다.
그래서 아쉽게도 질문주신 , 를 제거하고 불러오는 기능은 아직까지는 없는 것 같습니다.
답변 3