반응형

14-09 누적합/누적곱 (cumsum / cumprod)

DataFrame.cumsum(axis=None, skipna=True, args, kwargs)

DataFrame.cumprod(axis=None, skipna=True, args, kwargs)

 

개요


cumsum / cumprod메서드는 행/열의 누적합/누적곱을 구하는 메서드입니다.
위에서부터 아래로 한줄씩 덧셈/곱셈을 누적하여 수행합니다.

 

사용법


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.cumsum(axis=None, skipna=True, args, kwargs)
df.cumprod(axis=None, skipna=True, args, kwargs)
axis : 누적합/누적곱을 구할 축을 지정합니다.
skipna : 결측치를 무시할지 여부 입니다

반응형

 

예시


먼저 기본적인 사용법 예시를 위해 6x2짜리 객체를 생성하겠습니다.

[N,T,F]=[np.NaN,True,False]
df = pd.DataFrame({'col1':[1,-2,5,3,-1,7],'col2':[3,4,N,9,2,5]})
print(df)
>>
   col1  col2
0     1   3.0
1    -2   4.0
2     5   NaN
3     3   9.0
4    -1   2.0
5     7   5.0

기본적인 사용법
cumsum / cumprod을 사용할 경우 해당 행/열 까지의 누적합/누적곱을 반환합니다.

print(df.cumsum())
>>
   col1  col2
0     1   3.0
1    -1   7.0
2     4   NaN
3     7  16.0
4     6  18.0
5    13  23.0
print(df.cumprod())
>>
   col1    col2
0     1     3.0
1    -2    12.0
2   -10     NaN
3   -30   108.0
4    30   216.0
5   210  1080.0


skipna 인수의 사용
skipna=False일 경우 결측값이 발생하면 반환값을 결측값으로 반환하게됩니다.

print(df.cumsum(skipna=False))
>>
   col1  col2
0     1   3.0
1    -1   7.0
2     4   NaN # NaN등장부터 곱할수 없으므로 NaN반환
3     7   NaN
4     6   NaN
5    13   NaN
반응형

+ 최근 글