반응형

04. 판다스 시리즈(Pandas Series) 연산 (min(), max(), mean(), diff(), rank())

1) 기본 코드

import pandas as pd

data1 = [1, 2, 3, 4, 5]
index1 = ['row1', 'row2', 'row3', 'row4', 'row5']

s1 = pd.Series(data=data1, index=index1)

data2 = [6, 7, 8, 9, 10]
index2 = ['row3', 'row4', 'row5', 'row1', 'row2']

s2 = pd.Series(data=data2, index=index2)

sum = s1 + s2

print(sum)
print('max : ' + str(sum.max()))
print('min : ' + str(sum.min()))
print('mean : ' + str(sum.mean()))
print(str(sum.diff(periods=2))
print(sum.rank(ascending=False)) #내림차순
print(sum.rank(ascending=True)) #오름차순

 

반응형

 

 

2) 실행 결과

sum = s1 + s2
print(sum)
row1    10
row2    12
row3     9
row4    11
row5    13
dtype: int64
  • sum = s1 + s2
    • 두개의 Series를 합산
    • 각 Series의 인덱스가 같은 것과 값을 합산
    • 각각의 인덱스 순서가 달라도 합산 가능
print('max : ' + str(sum.max()))
print('min : ' + str(sum.min()))
print('mean : ' + str(sum.mean()))
max : 13
min : 9
mean : 11.0
  • sum이란 Series에서 최대값, 최솟값, 평균값을 출력
print('Diff')
print(sum.diff(periods=2))
Diff
row1    NaN
row2    NaN
row3   -1.0
row4   -1.0
row5    4.0
dtype: float64
  • 값의 차이를 출력
  • periods=2
    • ex) ‘row1’과 ‘row3’의 값 차이를 ‘row3’에 출력
    • ‘row1’, ‘row2’는 비교할 값이 없으므로 NaN으로 출력
print(sum.rank(ascending=False)) #내림차순

print(sum.rank(ascending=True)) #오름차순
row1    4.0
row2    2.0
row3    5.0
row4    3.0
row5    1.0
dtype: float64

row1    2.0
row2    4.0
row3    1.0
row4    3.0
row5    5.0
dtype: float64
  • 내림차순
    • sum.rank(ascending=False)
  • 오름차순
    • sum.rank(ascending=True)
반응형

+ Recent posts