반응형

02-02. 합계 (sum)


DataFrame.sum(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, kwargs)

 

개요


sum 메서드는 객체의 행이나 열의 총 합계를 구하는 메서드 입니다.

 

사용법


기본 사용법
df.sum(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, kwargs)
axis : { 0 : 행 / 1 : 열} 더할 레이블을 선택합니다.
skipna : {True or False} Na가 존재할 경우 무시할지의 여부입니다. 기본값은 True입니다.
level : Multi Index일 경우 레벨을 설정합니다.
numeric_only : 숫자 데이터만 사용할지의 여부 입니다.
min_count : 계산에 필요한 숫자의 최소 갯수입니다.

반응형

예시


먼저, NaN이 포함된 3x3 객체를 하나 생성하겠습니다.

col = ['col1','col2','col3']
row = ['row1','row2','row3']
data = [[1,2,3],[4,5,6],[7,np.NaN,9]]
df = pd.DataFrame(data=data,index=row,columns=col)
print(df)
>>
      col1  col2  col3
row1     1   2.0     3
row2     4   5.0     6
row3     7   NaN     9

axis를 설정하여 더하기 수행
0은 열의 요소들의 합, 1은 행의 요소들의 합 입니다.

print(df.sum(axis=0))
>>
col1    12.0
col2     7.0
col3    18.0
dtype: float64
print(df.sum(axis=1))
>>
row1     6.0
row2    15.0
row3    16.0
dtype: float64

 

skipna를 변경하여 계산하기
위 계산에서는 NaN을 무시하고 계산한 것을 알 수 있습니다.
skipna=False일 경우 NaN이 포함되는경우에는 NaN을 반환합니다.

print(df.sum(axis=0,skipna=False))
>>
col1    12.0
col2     NaN
col3    18.0
dtype: float64


min_count를 변경하여 계산하기
min_count는 계산에 필요한 숫자의 최소 갯수를 의미합니다.
즉, min_count=3이라면 NaN을 포함하는 행의 경우 숫자가 2개이기 때문에
skipna=True임에도 NaN을 출력하게 됩니다.

print(df.sum(axis=1,min_count=3))
>>
row1     6.0
row2    15.0
row3     NaN
dtype: float64
반응형

+ 최근 글