Data Science/coding pratice

Pandas 데이터 전처리 실습

희스레저 2022. 5. 17. 01:05

실제 부동산 데이터로 데이터전처리 실습을 진행

 

1. column 재정의→ rename

: column의 이름이 복잡할 경우 재정의를 해준다

#내가짠코드

df.columns = ['지역명', '규모구분', '연도', '월', '분양가격']

>> 이름을 다 넣어줘서 column이름을 새로 부여해줌

 

#해설

df = df.rename(columns={'분양가격(㎡)':'분양가격'})

 

2. column의 datatype 변환: astype

df['분양가격'].astype(int)

 

3. strip으로 공백이 있는 데이터 공백없애기: strip()

column의 문자열에 strip을 실행하고자 할 때는 str.strip()

 

df.loc[df['분양가격']=='   ']                              #확인

df['분양가격'] = df['분양가격'].str.strip()             #공백제거

df.loc[df['분양가격']=='   ']                              #공백 제거됐는지 확인

 

4. ,(콤마) 값 없애기: replace()

df['분양가격'] = df.str.replace(',', '')

 

5. 지역별 분양가 확인: groupby 사용

df.groupby('지역명')['분양가격'].mean()

 

6. 분양가격이 100보다 작은 행은 제거하기

idx = df.loc[df['분양가격']<100].index           # 1) 해당 조건에 맞는 column의 index number를 list로 가져온다

df = df.drop(idx, axis=0)                           # 2) drop(인덱스 넘버, axis=0), 행이므로 axis=0

 

df.count()로 row 갯수 확인

 

6-1) 지역별 최고 비싼 분양가는?

df.groupby('지역명')['분양가격'].max()

 

7. 연도별로 분양가격 확인

df.groupby('연도')['분양가격'].mean()

 

8. 피봇테이블을 활용해서 보기

pd.pivot_table(df, index = '연도', columns='규모구분', values='분양가격')

df.pivot_table(index = '연도', columns='규모구분', values='분양가격')

 

9. 연도별, 규모별 가격확인

df.groupby(['연도', '규모구분'])['분양가격'].mean()

 

9-1) 눈에 들어오도록 dataframe화

pd.DataFrame(df.groupby(['연도', '규모구분'])['분양가격'].mean())

 


끝~