728x90
반응형
# We create a list of Python dictionaries
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() : 비어있니라고 물어보는 함수(true or false로 표시)
df.isna()
df.isna().sum() # false=0, true=1 / 컬럼별 확인
df.isna().sum().sum() # 비어있는 데이터 갯수
NaN 을 처리하는 방법
1. 삭제하는 방법, 변수명.dropna()
df.dropna()
2. 특정 값으로 채우는 방법, 변수명.fillna()
df.fillna(0) # 정수 채우기
df.fillna('데이터 없음') # 문자열 채우기
셔츠가 NaN인 값만, No data로 채우세요(특정 위치만 값 채우기)
df['shirts'].fillna('No data')
df
df['shirts'] = df['shirts'].fillna('No data')
df
채우긴 채우되, 앞이나 뒤의 데이터를 사용해서 채우는 방법
df.fillna(method='ffill', axis = 0) # forward fill = ffill
df.fillna(method='bfill', axis = 0) # backward fill = bfill
df.fillna(method='ffill', axis = 1) # forward fill = ffill
df.fillna(method='bfill', axis = 1) # backward fill = bfill
채우는 방법 중에서, 각 컬럼별 평균값으로 채우기
최소값으로 채우기, 최대값으로 채우기가 가능하다.
평균, 변수명.mean()
df.loc['store 3','shirts'] = 0 # 특정된 NaN 빈칸 숫자채우기
df.mean()
df.fillna(df.mean())
최대값, 변수명.max()
df.fillna(df.max())
최소값, 변수명.min()
df.fillna(df.min())
누락되어 있지 않은 값을 찾습니다.
isna와 반대값으로 출력함, notna():안비어있니 <-> isna():비어있니
df.notna()
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[pandas] pandas 파일 읽어온 뒤 데이터 중복 제거와 데이터 처리 예제 (nunique, count, unique, sum, mean, groupby, agg, value_counts) (0) | 2023.11.15 |
---|---|
[pandas] pandas 파일 읽어온 뒤 데이터 처리하기(describe, head, tail, info) (0) | 2023.11.15 |
[pandas] pandas DataFrame 2 (0) | 2023.11.14 |
[pandas] pandas DataFrame 1 (0) | 2023.11.14 |
[pandas] pandas Series 데이터 2 (1) | 2023.11.14 |