Python

[Python] 판다스(Pandas) 라이브러리(Library)_3

구루싸 2019. 9. 14. 23:27
반응형
SMALL

이번에는 판다스 객체의 산술연산에 대해 알아보겠습니다

판다스 객체의 산술연산은 먼저 ① 행/열 인덱스를 기준으로 모든 원소를 정렬하고 ② 동일한 위치에 있는 원소끼리 1:1 대응시켜 처리합니다

(단, 대응되는 원소가 없으면 NaN(Not a Number)으로 처리)

# 판다스(Pandas)
import pandas
import numpy
import seaborn
#seaborn 내장 데이터셋의 종류 
# 'anscombe', 'attention', 'brain_network', 'car_crashes', 'diamonds'
# 'dots', 'exercise', 'flights', 'gammas', 'iris'
# 'mpg', 'planets', 'tips', 'titanic'

# 시리즈와 값 연산
series1 = pandas.Series({'국어' : 100, '영어' : 90, '수학' : 80})
print(series1, end = '\n')
print(series1/100, end = '\n')

# 시리즈와 시리즈 연산
# 시리즈의 원소 개수, 동일한 인덱스가 없거나 인덱스 값이 다른 경우 NaN
series2 = pandas.Series({'영어' : numpy.nan, '수학' : 60, '국어' : 50, '음악' : 100})
print(series1/series2) 
print(series1+series2)
print(series1-series2)
print(series1*series2)
print(series1//series2)
print(series1%series2)

# NaN을 피하는 방법(연산메소드)
print(series1.add(series2, fill_value = 0))
print(series1.sub(series2, fill_value = 0))
print(series1.mul(series2, fill_value = 0))
print(series1.div(series2, fill_value = 0))

# 데이터프레임과 값 연산 NaN일 경우 NaN
tips = seaborn.load_dataset('tips')
df = tips.loc[:, ['total_bill', 'tip']]
print(df.head())
add_value = df + 10
print(add_value.head())
sub_df = add_value - df
print(sub_df.head())

시리즈나 데이터프레임 연산에는 크게 차이가 없는 것 같네요-_-

크게 어려운 부분이 없어서 특별히 더 학습할 것은 없었습니다

그럼 이만-_-

반응형
LIST