자기계발/Python

[빅데이터분석기사] 01 단변량 데이터, 이변량 데이터 탐색

호등 2022. 6. 12. 20:02
반응형

단변량 데이터 탐색

판다스로 데이터 기본 정보 확인

 import pandas as pd
 data=pd.read_csv('Ex_CEOSalary.csv', encoding='utf-8')
 data.info()
 data.head()
  • csv 파일 읽기 : pd.read_csv('파일명')
  • 데이터 기본 정보(케이스수, 컬럼 수, 자료 개수 형태 등) : data.info()
  • 데이터 상위 5개 구조 : data.head()

 

1.1 범주형 자료의 탐색

#변수의 범주별 빈도수
data['industry'].value_counts()

#replace 함수로 라벨링
data['industry'] = data['industry'].replace([1,2,3,4], ['Service', 'IT', 'Finance', 'Others'])
data['industry'].value_counts()

#도표로 시각화
% matplotlib inline
data['industry'].value_counts().plot(kind='pie')

● .value_count() : 데이터의 변수 뒤에 붙여서 변수의 범주별 빈도수 확인

● replace 함수 사용해서 라벨링(숫자에 명확한 의미 부여하는 작업)

● .value_count() 뒤에 plot 함수 붙여서 도표로 시각화 할 수 있음

plot 종류 : pie, bar 등

 

● % matplotlib inline : %matplotlib이라는 패키지 불러4와 결과를  코드 안에 수행(inline)

 

1.2 연속형 자료의 탐색

#변수별 요약 통계량 확인
data.describe()

#왜도와 첨도 확인
data.skew()
data.kurtosis()

#히스토그램
import matplotlib.pyplot as plt
data.hist(bins=50, figsize=(20,15))

data['salary'].hist(bins=50, figsize=(20,15)) #특정 변수 히스토그램 확인

● 연속형  자료는 describe() 함수로 통계량 확인,  이 때 평균과 중위수 차이가 크다면 이상치가 많은 데이터라는 것!

● 첨도와 왜도 혹은 히스토그램을 추가로 확인해보고 이상치  처리(제거나 변환)를 해줌

 

● 왜도 skew(), 첨도 kurtosis() 함수

● pandas에서 도표와 그래프는 matplotlib 패키지의 pyplot을 이용해준다.

 


이변량 데이터 탐색

상관계수

두 변수간 선형성 여부를 판단하는 과정이 필요하다.

판다스에서는 corr() 함수로 두 변수 간의 상관계수를 파악할 수 있다.

data.corr()​

● method를 pearson, spearman, kendall로 지정할 수 있고, 디폴트는 pearson이다.

 

산점도

matplotlib.pyplot의 scatter 함수에서 X축 변수와 Y축변수를 각각 설정한다.

import matplotlib.pyplot as plt
plt.scatter(data['sales'], data['salary'], alpha=0.5)
plt.show()

독립변수가 2개 이상일 경우 X축의 변수를 바꾸어 한 번 더 확인한다.

 

범주형 변수로 그룹화하기

산업 범주별로 salary(종속변수)의 평균 및 기술통계량을 확인하려면 판다스의 groupby 함수를 이용한다.

data.groupby('industry')[['salary']].describe()

● 'salary'를 대괄호로 두 번 감싼건 오타 아님! 주의할 것

반응형