개발공부

[Python] Pandas Dataframe NaN 다루기 본문

Python/Pandas

[Python] Pandas Dataframe NaN 다루기

mscha 2022. 5. 2. 12:27
items2 = [{'bikes': 20, 'pants': 30, 'watches': 35, 'shirts': 15, 'shoes':8, 'suits':45},
{'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5, 'shirts': 2, 'shoes':5, 'suits':7},
{'bikes': 20, 'pants': 30, 'watches': 35, 'glasses': 4, 'shoes':10}]

df = pd.DataFrame(data = items2, index = ['store 1', 'store 2', 'store 3'])
df

 

NaN 이 얼마나 있는지 파악 isna()

df.isna()

# 각 컬럼별로 NaN의 수
df.isna().sum()

# 총 NaN 의 수
>>> df.isna().sum().sum()
3

 

NaN 삭제하기 dropna()

# Nan이 있는 행 삭제
df.dropna()​

# NaN 이 있는 열 삭제하기 axis = 1
df.dropna(axis = 1)

 

Nan을 특정값으로 채우기 fillna()

df

df.fillna(0)

df.fillna('없음')

# 셔츠 컬럼의 NaN 만 0으로 셋팅
df['shirts'] = df['shirts'].fillna(0)
df

 

df

# method = 'ffill'  = > NaN을 바로 위 값과 동일하게 변경합니다.
df.fillna(method = 'ffill', axis = 0)

df

# method = 'bfill' => NaN을 바로 아래 값과 동일하게 변경
df.fillna(method = 'bfill', axis = 0)

 

NaN이 아닌 것 찾기 df.notna()

df.notna()