단변량 데이터 탐색 |
판다스로 데이터 기본 정보 확인
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'를 대괄호로 두 번 감싼건 오타 아님! 주의할 것
'자기계발 > Python' 카테고리의 다른 글
[빅데이터분석기사] 03 결측치 처리(제거, 대체) (0) | 2022.06.14 |
---|---|
[빅데이터분석기사] 02 이상치 처리(log변환, 제곱근변환) (0) | 2022.06.13 |
[Python] 기본16. 예외 고급 (0) | 2022.03.16 |
[Python] 기본15. 구문 오류와 예외 (0) | 2022.03.10 |
[Python] 기본14. 파일 처리 open(),close(),with 키워드 (0) | 2022.03.09 |