호기심 많은 분석가

[Pandas] Series에는 merge를 어떻게 해줄까? 본문

Coding/Machine Learning & Python

[Pandas] Series에는 merge를 어떻게 해줄까?

DA Hun 2021. 7. 5. 23:27

 우리는 보통 DataFrame을 merge할 때 pandas의 merge를 쓰곤한다. 하지만 Series에는 merge가 적용되지 않는 다!

그래서 pd.concat을 이용하곤 하는데, Series의 내장 함수인 combine을 사용해보자.

 위와 같은 10-16시까지의 값들만 존재하는 Series가 있다. 이 데이터를 24시간으로 시각화 시키기 위해 나머지 HOUR에는 0을 넣으려고 한다. 이때 어떻게 해줄 수 있을까? 우선 0-24시까지 0뿐인 Series를 생성해준다.

zero_series = pd.Series(index=range(24), data=[0]*24)
zero_series

 이제 우리는 두 Series를 combine을 통해 합쳐줄 거다. Series1.combine(Series2, max) 식으로 합쳐주면 되는데(min이어도 된다, 원하는 함수를 입력), Series1에 값이 없는 바람에, max비교가 이루어지지 않아 NaN값이 발생했다. 

이때, fill_value=0를 적어주면 pandas의 fillna=0과 같은 변환이 이루어진다.

제가 이번에 다룬 combine 메서드가 도움이 되시길 바라겠습니다. :)