자신에게 친절할 것 :)

Statistics

[기초통계] 누적 값 계산하기, .cumsum(), .cumprod()

Tashapark 2024. 6. 12. 00:10
728x90

# 코드잇 데이터 사이언스 강의 듣는 중


 

<누적값  계산하기>

 

- . cumsum() --> cumulative sum 누적 합

- 예를 들어, 수입의 누적 값을 확인하고 싶을 때 등에 쓸 수 있음. 

df['revenue_cumsum']= df['revenue'].cumsum()
df

 

- 진짜.. 너무 편한듯.. ㅎ

 

 

 

 

 

 

 

 

 

 

- 플롯으로 변경 추이를 한 눈에 확인할 수도 있음. 

df.plot(x='month', y='revenue_cumsum')

 

df.plot(x='month', y='revenue_cumsum', kind='bar')

 


- . cumprod() --> cumulative  product 누적 곱

- 예를 들어, 연간 금리에 따른 만기액 같은 계산이 가능해짐. 

 

+..ㅎ 내가 진짜 학생 때 제일 싫어했던.. 이자율 계산..ㅎ ㅎ 오랜만이구나. 

+ 근데 수식을 풀어서 보니깐, 괜찮은데 왜 그 땐 그렇게 할 생각도 못하고 공식만 외우다가 까먹고 외우다가 까먹었을까..ㅎ 

 

 

- 값을 계산한 값으로 바꾸지 않고, 수식을 계속 나열해 보면  결국 (1+ 이자율)을 계속해서 원금에 곱해주는 것.

 

 

 

- 따라서 우선 곱한 값을 열로 만들어서 나타내주고. 

interest_df['multiple'] = interest_df['interest'] + 1
interest_df

 

--> 근데 딱히 얘가.. 필요한 것은 아님

- 다만, 누적 곱의 과정을 확인하고자 만들어 준 것임. 

 

 

 

 

 

 

 

 

 

 

- 누적 곱을 열에 넣어줌. 

interest_df['cumulative_multiple'] = interest_df['multiple'].cumprod()
interest_df

 

--> 최종적으로 20년 후에 원금에 1.886123을 곱한 값이 만기액이 됨. 

 

+ 그니깐 제발 어렵게 생각하지말고, 변수로 만들어서 넣어주자 ^^..ㅎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


<예제>

- 홈페이지 일일 사용자수 그래프로 그리기.

- 누적 사용자수를 net_user_cumsum 벡터를 만들어서 넣어 줄 것. 

user_df['deduction'] = user_df['register'] - user_df['unregister']
user_df['net_user_cumsum'] = user_df['deduction'].cumsum()
user_df.plot(x='day', y='net_user_cumsum', kind='bar')
728x90
반응형