pandas의 read_csv()를 할때 분명히 Nan이 아닌데도 Nan이 나오는 경우가 있어 검색해보았다.
검색 결과 na / Na라고 적혀있을경우 read_csv에서는 이를 Nan이라고 판단하고 모두 Nan값으로변경해버린다.
col_1 | col_2 | col_3 | col_4 | col_5 | col_6 |
0 | NA | 값_1 | 값_2_1 | 1 | |
1 | NA | 값_2 | 값_2_2 | 1 | |
2 | NA | 값_3 | 값_2_3 | 1 | |
3 | NA | 값_4 | 값_2_4 | 1 | |
4 | NA | 값_5 | 값_2_5 | 1 | |
5 | NA | 값_6 | 값_2_6 | 10 | 1 |
6 | NA | 값_7 | 값_2_7 | 2 | 1 |
위 csv파일을 read_csv()로 불러오면 아래처럼 변경되어 버린다.(NA -> Nan)
col_1 | col_2 | col_3 | col_4 | col_5 | col_6 |
0 | Nan | 값_1 | 값_2_1 | 1 | |
1 | Nan | 값_2 | 값_2_2 | 1 | |
2 | Nan | 값_3 | 값_2_3 | 1 | |
3 | Nan | 값_4 | 값_2_4 | 1 | |
4 | Nan | 값_5 | 값_2_5 | 1 | |
5 | Nan | 값_6 | 값_2_6 | 10 | 1 |
6 | Nan | 값_7 | 값_2_7 | 2 | 1 |
그렇다고 replace를 쓰기에는 너무 귀찮다.
read_csv를 할때 Na를 살리는 명령어는 다음과 같다.
import pandas as pd
test=pd.read_csv('.csv파일의 경로',na_filter=False)
na_filter=False를 써주면 Na/na/NA를 Nan으로 자동 변경해주는 기능이 꺼지고 해당 String을 유지한 상태로 Dataframe으로 불러온다.
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[GCP]Bigquery로 Dataframe전달할때 GenericGBQException 에러해결하기 (0) | 2022.08.10 |
---|---|
[GCP]Bigquery로 데이터 전송하기(Dataframe / Python / pandas_gbq) (0) | 2022.08.10 |
[python(파이썬)]dataframe 특정 컬럼의 값만 바꾸기(replace specific columns) (0) | 2022.07.22 |
[python(파이썬)]비속어 제거하기(better-profanity) (0) | 2022.06.27 |
[Pandas(판다스)] 특정 row(index)만 범위 삭제하기 (0) | 2022.06.08 |