csv 파일을 읽어올 때, 특정 문자열을 None으로 바꾸기
df = pl.read_csv("data.csv", dtype=str, na_values=["", " "])
참고: stackoverflow
df = pl.read_csv("test.csv", infer_schema_length=0).with_columns(pl.all().cast(pl.Utf8, strict=False))
- 데이터프레임이 이미 생성된 경우, 특정 문자열을 None으로 바꾸기
df = df.with_columns(
pl.when(pl.col(pl.Utf8) == "")
.then(None)
.otherwise(pl.col(pl.Utf8)) # keep original value
.name.keep()
)
- 여러 문자열 중 하나라도 해당하면 None으로 변환 (is_in)
df = df.with_columns(
pl.when(pl.col(pl.Utf8).is_in(["", " ", "Nu"]))
.then(None)
.otherwise(pl.col(pl.Utf8)) # keep original value
.name.keep()
)
반응형
'파이썬(Python)&판다스(Pandas)&Polars' 카테고리의 다른 글
[polars] write_csv로 UTF-8-SIG 처럼 저장하기(include_bom) (1) | 2023.11.21 |
---|---|
[polars] with_columns(), map_elements(=apply) 컬럼 전처리 후 새로운 컬럼 만들기 (0) | 2023.11.17 |
[Python] 여러 딕셔너리(dictionary)를 하나의 딕셔너리로 합치기 (0) | 2023.05.03 |
[Pandas] groupby, agg 여러 행을 단일 행의 리스트로 넣기 (0) | 2023.04.28 |
[Pandas] explode 단일 행을 여러 행으로 나누기 (0) | 2023.04.28 |