반응형

01-01. 덧셈 (add, radd)


DataFrame.add(other, axis='columns', level=None, fill_value=None)

DataFrame.radd(other, axis='columns', level=None, fill_value=None)

 

 

개요


add함수는 DataFrame에 다른 데이터프레임이나, Series, 스칼라 등 데이터를 더하는 메서드입니다.
단순 df + 다른df 등의 계산과 차별화되는 것은 fill_value 인수를 통해 계산 불가한 값을 채워 넣는다는 것입니다.

radd의 경우 add의 경우에서 순서만 바꾼것입니다.
즉 add가 'df+df2'라면 radd는 'df2+df'입니다.
add와 사용법이 동일하므로 예시는 생략합니다.

 

 

사용법


기본 사용법
df.add(other, axis='columns', level=None, fill_value=None)
other : 데이터프레임이나, Series, 스칼라 등 데이터가 올 수 있습니다. 더할 값입니다.
axis : 더할 레이블을 설정합니다. 0은 행(index), 1은 열 입니다. ※Series일 경우 Index와 일치시킬 축
level : multiIndex에서 계산할 Index의 레벨입니다.
fill_value : NaN 값등의 누락 요소를 계산 전에 이 값으로 대체합니다.

반응형

 

예시


먼저, 간단한 3x3 짜리 DataFrame을 만들어 보겠습니다.

data = [[1,10,100],[2,20,200],[3,30,300]]
col = ['col1','col2','col3']
row = ['row1','row2','row3']
df = pd.DataFrame(data=data,index=row,columns=col)
print(df)
>>
      col1  col2  col3
row1     1    10   100
row2     2    20   200
row3     3    30   300

스칼라 값 더하기
df.add(스칼라 값)의 경우 df+스칼라값 과 같은 결과를 가집니다.

result = df.add(1)
print(result)
>>
      col1  col2  col3
row1     2    11   101
row2     3    21   201
row3     4    31   301
result = df+1
print(result)
>>
      col1  col2  col3
row1     2    11   101
row2     3    21   201
row3     4    31   301

 

다른 DataFrame객체를 더하기
df에 더할 df2를 아래와 같이 만들어보겠습니다. 3x1 짜리 객체로 col1을 가집니다.

data2  = [[3],[4],[5]]
df2 = pd.DataFrame(data=data2,index=['row1','row2','row3'],columns=['col1'])
print(df2)
>>
      col1
row1     3
row2     4
row3     5

이제 df에 df2add메서드를 통해 더해보겠습니다.
df2에는 col2과 col3열이 없기 때문에 해당 열의 계산결과는 NaN으로 반환됩니다.

result = df.add(df2)
print(result)
>>
      col1  col2  col3
row1     4   NaN   NaN
row2     6   NaN   NaN
row3     8   NaN   NaN

 

fill_value 인수를 통해 해당 오류를 출력 가능하도록 바꿔보도록 하겠습니다.

result = df.add(df2,fill_value=0)
print(result)
      col1  col2   col3
row1     4  10.0  100.0
row2     6  20.0  200.0
row3     8  30.0  300.0

df2에는 존재하지 않던 col2col3의 요소들에 대해 fill_value값인 0으로 채워 넣은 뒤 계산을 진행하여
계산한 것을 확인할 수 있습니다.

 

 

반응형

+ 최근 글