[ProDS] 실기 예제 풀이 - 파이썬

Gammi·2022년 11월 25일
0

proDS

목록 보기
13/13
  1. 년월 변수를 제외한 변수들에 대해 상관분석을 수행하고자 한다. 매출금액과 상관정도가 가장 강한 변수(절대값이 가장 큰 변수)를 찾고 해당 변수와 매출금액과의 상관계수 값을 기술하시오.
import pandas as pd
from scipy.stats import pearsonr
fd = pd.read_csv("ADS_sample_1.csv")
fd.head(2)

so = pearsonr(fd["SOCIAL"], fd["SALES_AMT"])
so
tv = pearsonr(fd["TV"], fd["SALES_AMT"])
tv
news = pearsonr(fd["NEWSPAPER"], fd["SALES_AMT"])
news
# 세 개 비교했을 때 tv랑 매출금액의 상관계수가 제일 컸음
# 마이너스긴 했는데 절대값은 제일 크니까...
stat, p = pearsonr(fd["TV"], fd["SALES_AMT"])
print(round(stat,3))
# 소수점 셋째자리까지 출력하라고 했으니까 round(3) 쓰기

📌 정답

-0.183





  1. 2009년 매출금액 대비 2019년 매출금액의 변화 정도를 확인하고자 한다. 다음 수식을 이용하여 증감률을 기술하시오
import pandas as pd
df = pd.read_csv("ADS_Sample_1.csv")
df.head(2)

df["YEAR_MONTH"] = pd.to_datetime(df["YEAR_MONTH"])
df["year"] = df["YEAR_MONTH"].dt.year
# 년도만 출력할 수 있도록 타입 바꿔주기

df_sub = df.groupby("year")["SALES_AMT"].sum()
df_sub.reset_index()
# 이렇게 groupby쓰면 전체년도 합계 출력됨
# 인덱스 뽑아서 쓰면 되는데
# 그룹바이는 나중에 생각났고...ㅎㅎ

df["sale2009"] = df.loc[df["year"] == 2009,"SALES_AMT"]
df_sub2009 = df["sale2009"].sum()
df_sub2009 # 185.76

df["sale2019"] = df.loc[df["year"] == 2019, "SALES_AMT"]
df_sub2019 = df["sale2019"].sum()
df_sub2019 # 186.12
# 그냥 2009년이랑 2019년만 따로 뽑아서 합계 출력했음

round(((df_sub2019 - df_sub2009) / df_sub2009) * 100, 3)
# 주어진 식에 대입하면 답 나옴!

📌 정답

0.194





  1. 2009년과 2019년의 매출금액 평균이 통계적으로 유의한 차이가 있는지 검정하고자 한다. 적절한 검정 수행 후, 유의확률의 값을 기술하시오.
import pandas as pd
from scipy.stats import ttest_ind
# 2009년의 매출이랑 2019년 매출이랑 상관 없는 거 같아서 ttest_ind 썼음
df = pd.read_csv("ADS_Sample_1.csv")
df.head(2)

df["YEAR_MONTH"] = pd.to_datetime(df["YEAR_MONTH"])
df["year"] = df["YEAR_MONTH"].dt.year
sale2009 = df.loc[df["year"]==2009, "SALES_AMT"]
sale2019 = df.loc[df["year"]==2019, "SALES_AMT"]
# 매출 구하는 것까지는 아까랑 똑같음
stat, p = ttest_ind(sale2009, sale2019)
print(round(p,3))
# ttest가 평균끼리 비교한다는 걸 까먹고
# 변수 만들 떄 평균계산까지 해버린 나 제법 멍청해요...
# ttest는 평균 비교하는 거라서 알아서 평균내서 해줌...

📌 정답

0.991
profile
개발자가 되었어요⭐️

0개의 댓글