본문 바로가기
데이터분석/Pandas&Numpy

pandas 누락값 처리하기, 변경하기, 삭제하기

by ADELA_J 2023. 6. 27.

1. 누락값 변경

 - fillna 메서드에 0을 대입하면 누락값, NaN을 0으로 변경한다 (100넣으면 100으로 a를 넣으면 a로)

변경후 일부만 슬라이싱해서 불러와

- fillna 메서드의 method 인자값을 ffill로 지정하면 위 행의 열을 값으로 사용해서 누락값을 처리함.

밑에 데이터에서 0과 1행은 처음부터 NaN이었기 때문에 그대로 남아있음. 

 

- method 인자값을 bfill 로 지정하면 누락값이 아래 행에 있는 값으로 채워짐.

이거는 마지막 값이 누락이면 처리하지 못한다는 단점이 있음.

- interpolate 는 누락값 양쪽에 있는 값을 이용해서 중간값을 구해서 누락값을 처리함

> 일정한 가격을 유지하고 있는 것 처럼 누락값을 처리할 수 있음.

- 누락값을 삭제하려면 dropna 메서드를 사용할 수 있음. 

하지만 무작정 삭제하면 데이터가 너무 편향되거나 개수가 너무 적어질 수 있음.

참고로 예제에서는 1개 빼고 다 누락값이 있어서 일까,,, 너무 많이 삭제됨^_^..

 

<누락값이 포함된 데이터 계산하기>

1. multiple 이라는 Cases들을 합친 새로운 열을 추가함

2. 새로 추가된 multiple까지의 데이터를 출하는 subset 변수를 만들었음. 

>> 더할때 NaN 이 있으면 계산결과가 NaN이 나오다보니 계산된 multiple 에는 더 많은 NaN 값들을 만날 수 있음. 

 

그래서 sum을 사용해 각 열마다 값을 다 할 수 있는데 

이따 skipna 라는 인자값을 True로 설정하게 된다면 누락값을 무시한 채 sum 값을 가져옴

 >> NaN이 포함된 sum 이라면 결과값도 NaN이지만 무시하니까 그 값을 제외한 값들의 합이 나옴.