데이터 분석/Python

[Pandas] DataFrame의 산술연산

eunki 2021. 4. 27. 19:09
728x90
df = pd.DataFrame({'통계': [60, 70, 80, 85, 75], 
                   '미술': [50, 55, 80, 100, 95], 
                   '체육': [70, 65, 50, 95, 100] })

 

1. Column 간 연산 (+, -, *, /, %)

 

 

 

 

2. Column과 숫자간 연산 (+, -, *, /, %)

 

 

 

 

3. 복합 연산

 

 

 

 

4. mean(), sum()을 axis 기준으로 연산

 

 

 

 

5. NaN 값이 존재하는 경우 연산

df = pd.DataFrame({'통계': [60, 70, np.nan , 85, 75], 
                   '미술': [50, np.nan , 80, 100, 95], 
                   '체육': [70, 65, 50, np.nan , 100] })

 

 

 

6. DataFrame 간 연산

df1 = pd.DataFrame({'통계': [60, 70, 80, 85, 75], 
                    '미술': [50, 55, 80, 100, 95], 
                    '체육': [70, 65, 50, 95, 100] })
                    
df2 = pd.DataFrame({'통계': ['good', 'bad', 'ok' , 'good', 'ok'], 
                    '미술': [50, 60 , 80, 100, 95], 
                    '체육': [70, 65, 50, 70 , 100] })

 

 

문자열이 포함된 DataFrame의 연산 → 에러 발생

 

 

 

문자열이 포함된 DataFrame의 브로드캐스팅 연산 → 에러 발생

 

 

 

column의 순서가 바뀌어 있는 경우 → 같은 이름의 column끼리 자동으로 연산

df1 = pd.DataFrame({'미술': [10, 20, 30, 40, 50], '통계':[60, 70, 80, 90, 100] })
df2 = pd.DataFrame({'통계': [10, 20, 30, 40, 50], '미술': [60, 70, 80, 90, 100] })

 

 

행의 개수가 다른 경우

df1 = pd.DataFrame({'미술': [10, 20, 30, 40, 50, 60], '통계':[60, 70, 80, 90, 100, 110] })
df2 = pd.DataFrame({'통계': [10, 20, 30, 40, 50], '미술': [60, 70, 80, 90, 100] })

728x90