본문 바로가기
Python/Data Analysis

[파이썬, Python] Pandas 모듈 - 8️⃣ 데이터프레임의 산술 연산

by coding-choonsik 2023. 6. 13.
728x90
반응형
SMALL

1. 데이터프레임의 산술 연산

df = pd.DataFrame({
    '파이썬': [60, 40, 60, 58, 99],
    '데이터분석': [40, 60, 20, 80, 55],
    '머신러닝딥러닝':[90, 60, 30, 66, 100]
})
df

 

type(df['파이썬'])  # Series
>>> pandas.core.series.Series

 

✅ 각 과목별로 점수를 합하여 '총점'이라는 파생변수 만들기

df['총점'] = df['파이썬'] + df['데이터분석'] + df['머신러닝딥러닝']
df

 

✅ 과목의 평균 점수를 '평균'이라는 파생변수로 만들기

df['평균'] = df['총점'] / 3
df

 

✅ '파이썬' 열의 총합 구하기

df['파이썬'].sum()    #df['파이썬'].sum(axis=0)

>>> 317

✅ '파이썬' 열의 평균 구하기

df['파이썬'].mean()
>>> 63.4

1-1. 데이터프레임끼리의 산술연산

df1 = pd.DataFrame({
    '파이썬': [60, 40, 60, 58, 99],
    '데이터분석': [40, 60, 20, 80, 55],
    '머신러닝딥러닝':[90, 60, 30, 66, 100]
})

df2= pd.DataFrame({
    '파이썬': ['C','A','D','C','B'],   # 문자열 데이터
    '데이터분석': [40, 60, 20, 80, 55],
    '머신러닝딥러닝':[90, 60, 30, 66, 100]
})

df1 + df2
>>> TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

 

1-2. 데이터프레임과 단순 숫자의 연산

df1 + 10   # 각 요소에 10이 더해짐

df2 + 10   #문자열 + 10 -> 에러
>>> TypeError: can only concatenate str (not "int") to str

 

1-3. 행의 수가 다른 데이터프레임끼리의 연산

df1 = pd.DataFrame({
    '데이터분석': [40, 60, 20, 80, 55],
    '머신러닝딥러닝':[90, 60, 30, 66, 100]
})

df2= pd.DataFrame({
    '데이터분석': [40, 60, 20, 80],
    '머신러닝딥러닝':[90, 60, 30, 66]
})

# 행의 개수가 다를 경우 빠진 데이터를 NaN으로 취급하기 때문에 연산이 되지 않음
df1 + df2  # 없는 데이터끼리 더함 -> NaN

 

 

728x90
반응형
LIST