Python pandas.DataFrame.replace()

사용 버전: Python 3.7.9
사용 프로그램: Jupyter-lab

파이썬 pandas.DataFrame.replace()를 알아보겠습니다.


괄호 안에는 이러한 것들이 들어갑니다.


Python pandas.DataFrame.replace()replace()는 어떠한 값을 변경할 때 사용합니다.

to_replace 값을 value로 변경합니다.



아래의 csv 파일을 봅시다.





5, 6 번째 줄에 숫자가 아닌 '-'가 들어 있습니다.

이렇게 되면, 분석을 하거나 데이터 타입을 변경할 때 황당합니다.




보면, Dtype이 int64가 아닌 object가 되어버렸습니다.


또한, '-'는 입력이 되어 있기 때문에 null로 잡히지도 않습니다.

이 값을 0으로 변경해 봅시다.

replace를 사용합니다.


to_replace에는 변경하려는 값을 넣습니다.

여기에는 숫자(numeric), 글자(str), 정규 표현식(regex), 배열(list), 사전(dictionary) 따위가 들어갈 수 있습니다.

value에는 변경된 값을 넣습니다.

여기에는 글자(str), 정규 표현식(regex), 배열(list), 사전(dictionary) 따위가 들어갈 수 있습니다.


글자(str)의 경우 데이터에 해당하는 글자들을 원하는 글자로 변경합니다.




배열(list)의 경우 해당하는 모든 값을 원하는 값으로 변경합니다.



Bon에 5 가 있는데 0으로 변경되지 않은 이유는 Bon의 Dtype이 Object이기 때문입니다. 그래서 인식이 안되었습니다.



value도 배열(list) 형식으로 적어주면 대응되는 값으로 변경됩니다. '1'은 -1로 2는 -2로 5는 -3으로.

리스트의 크기는 같아야 합니다.






사전(dictionary)의 경우를 보겠습니다.

각 열(Column)에 맞춰서 특정 값만 변경할 수 있습니다.





또는 열의 여러 개의 값을 변경할 때에는 이중 딕션어리를 사용합니다.




리스트와 비슷한 역할이지만 직관적으로 알 수 있게 사용하려면 아래처럼 사용합니다.




원래는 replace 한 것을 다시 변수로 받아야 하지만 inplace를 사용하면 원본 데이터가 변경됩니다.




끝.


카테고리: Python, Pandas

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)