Series 연산
- Python/Pandas
- 2020. 6. 20.
반응형
반응형
Series 로도 연산이 가능합니다. Series는 인덱스를 정할 수 있었기 때문에 그 부분을 생각하고 ndarray에서 하던식으로 하면 연산이 잘 됩니다. 다만 주의할점은 짝이 맞아야 된다는 것인데 짝이 맞지 않으면 NaN으로 출력하게 됩니다.
import numpy as np
import pandas as pd
s1 = pd.Series([1,2,3,4],['a','b','c','d'])
s2 = pd.Series([4,2,3,1],['d','b','c','a'])
s1+s2
s2의 value 값의 순서를 바꿔도 그에 대응하는 인덱스값을 설정을 해놓으면 Series에서는 인덱스에 대응하는 value 값으로 연산을 하게 됩니다.
가능한 연산을 살펴보겠습니다.
먼저 사칙연산 가능합니다.
print(s1-s2)
print(s1*s2)
print(s1/s2)
스칼라연산 가능합니다.
s1**2
Series로 지수연산도 가능합니다.
s1**s2
인덱스 짝이 맞지 않을 경우
인덱스가 맞지 않으면 해당 인덱스에서는 NaN 값으로 나타납니다.
s1['e']=5
s2['f']=6
print(s1)
print(s2)
s1과 s2에 각각 다른 인덱스로 값을 추가하고 계산을 해보겠습니다.
s1+s2
보시는 것처럼 짝이 안 맞으면 NaN으로 표현되고 NaN으로 인해 float64로 dtype이 변하는 것을 볼 수 있습니다.
Series는 생성하기보다 보통 어디선가 데이터로 가져올 때가 많습니다. 그래서 인덱스도 제각각이고 NaN으로 처리된 데이터도 있기 때문에 NaN를 어떻게 없앨것인지 인덱스는 어떻게 통일해야 연산을 잘 할 수 있는지 생각해봐야 합니다.
이번 포스팅에서는 연산방법만 소개하고 Series를 다룰 수 있는 실제적인 부분은 추후에 포스팅하도록 하겠습니다.
'Python > Pandas' 카테고리의 다른 글
[Pandas]Series 슬라이싱 (0) | 2020.07.01 |
---|---|
[Pandas]Series drop, dropna (0) | 2020.06.28 |
Series Boolean Select (0) | 2020.06.24 |
[Pandas] Series 간단 분석 (0) | 2020.06.16 |
Pandas Series 특징 (0) | 2020.06.09 |