본문 바로가기
Python/PANDAS

Pandas - NaN

by 하니__ 2024. 4. 5.
NaN

 

 

 

 NaN 은 해당 항목에 값이 없다는 뜻.  (Not a Number)

데이터가 비어있음, 입력을 안 한 상태

 

 

.isna(   )

 

 

 

 

 

비어있는 데이터 즉,

NaN이 있는지 찾는 법은  .isna(   ) 이며

.sum( ) 을 뒤에 붙여 콜럼별로 몇개가 있는지 

괄호안에 axis=1 을 넣어 행별로 몇개가 있는지 

그리고 .sum().sum() 으로 행 열 전체에 모두 몇개있는지 알아볼 수 있다

 

 

.notna() 로 NaN이 없는것(데이터가 정상적으로 있는 것)을 찾는것도 가능하다

 

 

 

NaN 처리법

 

 

1. 삭제하기 .dropna()

 

 

 

NaN이 있는 행 전체가 삭제된다(주의)

 

 

2. 특정 값으로 채우기 .fiilna(  )

 

 

Fill Na

NaN을 Fill 채우자 라는 의미이다

 

.fiina(  )를 이용하여 NaN을 다른 문자열, 숫자로 바꿔줄 수 있다

 

 

 

 

 

콜롬 하나를 지정해서 해당 콜럼의 NaN만을 바꾸는것도 가능하다

 

물론 콜롬 여러개를 지정하여 바꾸는것도 가능하다

 

 

 

 

 

3 - 1. 윗 행, 아래 행의 데이터로 채우거나
3 - 2. 좌측 열, 우측 열의 데이터로 채우는 법
상단.fillna( method = 'ffill' , axis = 0) , 상단.ffill()
하단.fillna( method = 'bfill' , axis = 0) , 하단.bfill()

 

 

Fill 은 채우다 라는 뜻이었다

그렇다면 새로 튀어나온 f 와 b는 무엇일까

Forward 와 Backward 의 앞글자를 딴것이다

쉽게 앞부분과 뒷부분이라고 생각하면 되겠다

 

 

상단 과 하단

위의 두 오류 메세지는 앞으로 업그레이드 되면서

다음 버전에서는 이 방법이 쓰이지 않으며

다른 방법으로 쓸 것을 알려주는 메세지

 

 

 

 

좌측 과 우측은 axis를 1로 바꿔주면 되겠다

 

평균 값으로 채워넣기 .fillna(변수.mean())

 

 

 

평균값을 구하는것을 먼저 입력하고

그것을 fillna로 감싸서 채워준다고 생각하자

 

 

 

데이터에 문자열이 포함 되어 있을때 평균값 채워넣기

 

 

 

numeric_only를 이용하여 수치형 데이터만 사용하겠다~라고 정의하여 평균값을 구한다

inplace = True는 바로 저장한다는 의미이다

 

 

'Python > PANDAS' 카테고리의 다른 글

Pandas - 카테고리컬 데이터 1 - unique( )  (0) 2024.04.05
Pandas - 기초 통계 데이터 describe( )  (1) 2024.04.05
Pandas - CRUD  (0) 2024.04.05
Pandas - 기초, Series  (0) 2024.04.05
Pandas - 데이터 엑세스 방법  (0) 2024.04.05