본문 바로가기
5-3. Pandas 제공 자료구조/DataFrame

[파이썬 판다스] 데이터프레임의 사칙연산 (+빈 곳 채우는 법)

by 만다린망고 2021. 12. 30.
반응형

판다스를 불러옵니다. 

import pandas as pd


데이터프레임을 두개 정의합니다. 

df1=pd.DataFrame([[1,2,3],[4,5,6]],columns=['C1','C2','C3'],index=['R1','R2'])

>>> df1
    C1  C2  C3
R1   1   2   3
R2   4   5   6

df2=pd.DataFrame([[10,20,30],[40,50,60]],columns=['C1','C2','C4'],index=['R1','R3'])

>>> df2
    C1  C2  C4
R1  10  20  30
R3  40  50  60


일부러 인덱스를 약간 다르게 정의했습니다. 

두 데이터프레임을 합해봅시다. 

>>> df1+df2
      C1    C2  C3  C4
R1  11.0  22.0 NaN NaN
R2   NaN   NaN NaN NaN
R3   NaN   NaN NaN NaN


두 데이터프레임 모두에 있는 인덱스에서만 연산이 수행됩니다. 같은 인덱스 끼리 연산이 수행됩니다. 다른 연산도 마찬가지입니다. 

두 데이터프레임을 합할 때, 한쪽에만 인덱스가 있는 경우 해당 값을 채워넣는 방법이 있습니다. add 메소드를 사용하고 fill_value 옵션을 0으로 설정하면 됩니다. 

>>> df1.add(df2,fill_value=0)
      C1    C2   C3    C4
R1  11.0  22.0  3.0  30.0
R2   4.0   5.0  6.0   NaN
R3  40.0  50.0  NaN  60.0

 

반응형

댓글