반응형

02-03. 곱 (prod, product)


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

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

 

개요


prod 메서드는 객체의 행이나 열의 곱을 구하는 메서드 입니다.
product메서드와 동일합니다.

 

사용법


기본 사용법
df.prod(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.prod(axis=0))
>>
col1     28.0
col2     10.0
col3    162.0
dtype: float64
print(df.prod(axis=1))
>>
row1      6.0
row2    120.0
row3     63.0
dtype: float64

 

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

print(df.prod(axis=0, skipna=False))
>>
col1     28.0
col2      NaN
col3    162.0
dtype: float64


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

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

+ 최근 글