Scipy 정리

juyeon·2022년 8월 11일
0

데이터 다루기

목록 보기
12/35

Why Scipy

: 고급 수학 함수, 수치적 미적분, 미분 방정식 계산, 최적화, 신호 처리 등에 사용하는 다양한 과학 기술 계산 기능을 제공

문법

상관 분석

import scipy.stats as spst
  • spst.pearsonr(데이터['열1 이름'], 데이터['열2 이름']): (상관계수, p-value) 순서로 출력됨

t-test

  • spst.ttest_ind(열이름1, 열이름2)
    • equal_var = False: 둘의 분산이 같은지 모르겠음
male = data.loc[data['Sex'] == 'male', 'Fare']
female = data.loc[data['Sex'] == 'female', 'Fare']

spst.ttest_ind(male, female)

# 출력
Ttest_indResult(statistic=-5.529140269385719, pvalue=4.230867870042998e-08)

ANOVA

  • spst.f_oneway(열1, 열2, 열3)
temp = data.loc[data['Age'].notnull()] 

P_1 = temp.loc[temp['class'] == 1, 'Age']
P_2 = temp.loc[temp['class'] == 2, 'Age']
P_3 = temp.loc[temp['class'] == 3, 'Age']

spst.f_oneway(P_1, P_2, P_3)

# 출력
F_onewayResult(statistic=57.443484340676214, pvalue=7.487984171959904e-24)

카이 제곱 검정

  • spst.chi2_contingency(데이터): 집계가 선행되어야 한다.
table = pd.crosstab(data[feature], data[target])
spst.chi2_contingency(table)

# 출력
(2.5537631338119975,
 0.1100318964829815,
 1,
 array([[392.5326087,  76.4673913],
        [608.4673913, 118.5326087]]))
profile
내 인생의 주연

0개의 댓글