저번시간에 이어서 판다스를 계속 공부해보겠습니다.
결측치 처리
결측치란 말처럼 손실 데이터를 의미하며, 파이썬 에서는 NaN 등으로 표시됩니다.
일반적으로 데이터를 처리할때 없어진 이 결측치로 인하여 데이터 분석시 왜곡 등 문제가 생길 수 있는데요.
그래서 데이터 전처리를 할 때 이러한 결측치를 제거 합니다.
결측치 찾는 방법
판다스에서 결측치는 간단히 isna(), isnull() 함수로 찾을 수 있습니다.
저번 타이타닉 데이터를 다시 보도록 합니다.
df.isna()함수만을 이용하면 아래처럼 보기가 힘드니,
df.insa().sum()을 통해서 항목별로 결측치가 얼마나 되는지 살펴보겠습니다.
deck에 결측치가 688개나 되는데요. 그리고 age에 177개가 있습니다.
그러면 오늘은 df['age']나이에 있는 결측치를 한번 처리해보겠습니다.
판다스에서 평균은 mean이고 중간값은 median인데요.
평균은 29.7세이고 중앙값은 28입니다.
그리고 이 결측치를 채우는 방법은 fillna()함수를 통해서 채울 수 있는데요.
특정값으로도 채울수 있고, 아래처럼 앞에서 살펴본 평균값으로 채울수도 있습니다.
그리고 deck은 최빈값인 mode()를 통해서 채워봤습니다. mode()를 사용할 경우 [0]을 꼭 입력해줘야 합니다.
행열 추가하고 삭제하기
그리고 drop을 통해서 불필요한 행과 열을 없앨 수 있습니다.
먼저 df1 = df.copy()를 통해서 df1이라는 데이타프레임을 추가하고 변경해보도록 하겠습니다.
class와 pclass가 같으므로 class열을 모두 drop해보겠습니다.
바로적용하려면 마지막에 옵션으로 inplace=True를 입력해 줍니다.
그리고 열(column)을 추가할 수 있는데요.
family라는 열을 sibsp와 parch를 더해서 만들 수 있습니다.
그리고 판다스의 데이터를 일정한 구간별로 쪼갤 수도 있는데요.
pd.cut()과 pd.qcut()을 통해 나눌 수 있습니다.
qcut은 quantity즉 분포를 최대한 비슷하게 쪼개 줍니다.
그리고 데이터를 병합하는 pd.concat()함수가 있는데요.
단순하게 지정한 DataFrame을 연결합니다.
즉 can = pd.concat([can1, can2])라고하면 두개의 데이터프레임을 연결합니다.
그리고 이 두개의 데이터 프레임에 []을 씌우지 않는다면,
아래와 같은 에러가 뜨니 꼭 리스트로 만들어서 합쳐줘야 합니다.
TypeError: first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"
그리고 병합하는 명령어인 merge도 사용할 수 있습니다.
판다스 시각화하기
판다스에서는 간단하게 시각화를 할 수 있는데요.
아까 타이나틱에서 생존여부를 가지고 통계를 볼 수 있는데요
아래의 표를 시각화해서도 살펴볼수 있습니다.
그리고 데이터 시각화는 Matplotlib를 이용하면 다양한 기능을 사용할 수 있는데요.
Matplotlib?
파이썬과 넘파이에서 plotting을 위한 라이브러리입니다 .
그리고 다양한 옵션을 통해서 시각화를 꾸밀수도 있습니다.
그리고 이외에도 머신러닝에 사용되는 Seaborn등을 통해서 시각화도 가능한데요.
Seaborn은 두 카테고리의 상관도를 볼 수 있는 히트맵등을 확인하실수 있습니다.
'Tip & Tech > Python' 카테고리의 다른 글
파이썬 유튜브 API 연동하기 (8) | 2021.12.30 |
---|---|
파이썬 유튜브 제목, 조회수 크롤링하기 (6) | 2021.12.28 |
파이썬 기초문법 4일차 - 판다스 알아보기 (4) | 2021.09.05 |
파이썬 기초 문법 3일차 - Numpy (4) | 2021.09.03 |
파이썬 기본 문법 강의 2일차 - 제어문으로 로또 게임 만들기 (8) | 2021.09.02 |