생각하는감자

NaN(None) 값 다르게 변경하기 본문

Pandas

NaN(None) 값 다르게 변경하기

토킹감쟈 2023. 3. 27. 13:14

NaN

특정 column 안에 아무런 값이 없는 것은 NaN값(None값)이다 라고 한다. 데이터프레임 안에 데이터의 개수가 적을 경우에는 직접 확인하여 NaN값이 어디에 있는지 확인할 수 있지만, 데이터의 양이 매우 많은 경우가 대다수이고, 이럴 때에는 직접 다 확인하는 것은 불가능하다.

 

판다스에서는 NaN 값을 쉽게 찾을 수 있도록 제시해주고 있는데, 아래와 같이 입력하게 되면 해당 데이터 프레임에 관한 정보가 출력된다.

df.info()

물론, pandas를 import한 후에 사용해야 하는 것은 물론이고 내가 만든 데이터프레임의 이름 뒤에 ".info()"를 붙이면 된다.

결과적으로 index의 개수(행 수)와 열의 개수가 나오며, 몇개의 non-null로 이루어져 있는지 나오게 된다.

 

df.isna()
df.isnull()

위의 명령어 두개는 모두 null 값이면 True라고 출력하고 그렇지 않을 경우 False라고 출력하므로 None 값을 찾아내는 또 다른  방법이다.

 

 

Fillna

NaN 값을 적당한 다른 값으로 대체해주기 위해선 "fillna"라는 명령어를 사용하면 된다. na인 것을 다른 값으로 채울(fill)것이다라는 직관적인 뜻을 가진 것으로 생각된다. 아래의 코드는 예시이다.

df.fillna('missing')

df['age'].fillna(df.groupby('job')['age'].transform('median'), inplace = True)

1) 만든 데이터프레임 속 None값을 찾아 'missing'이라는 문자열로 대체한 것이다.

2) 데이터프레임의 'age'라는 열 안에 있는 NaN 값을 변경할 예정이다. 무엇으로 대체할것이냐를 생각해 봤을 때 그 뒷부분의 코드가 설명해주고 있는 것이다. 데이터들을 'job'으로 그룹핑했을 때, age를 해당 그룹의 median 값으로 대체하는 것이다. median은 평균값이 아닌 데이터셋의 중간 값을 의미한다.

 

'Pandas' 카테고리의 다른 글

Dataframe (5)  (0) 2023.03.18
Dataframe (4)  (0) 2023.03.17
Dataframe (3)  (0) 2023.03.17
Dataframe(2)  (0) 2023.03.11
Dataframe(1)  (2) 2023.03.10