이번 시간에는 판다스의 데이터프레임이나 시리즈에서 다른 데이터프레임이나 시리즈와 연산을 수행할 때 인덱스를 기준으로 데이터가 정렬되는 Index Alignment에 대해 예시와 함께 설명해 보려고 한다.
예시
먼저 시리즈 두개를 선언해주고 시리즈의 형태를 확인하면 다음과 같이 서로 다른 형태임을 알 수 있다.
import pandas as pd
s1 = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
s2 = pd.Series([4, 3, 2, 1, 0], index=['e', 'd', 'c', 'b', 'a'])
# 두 개의 시리즈를 선언한다.
print(s1)
print(s2)
두 시리즈에 대해 덧셈 연산을 수행하고 결과를 확인한다. 일반적으로 생각하면 첫번째 행은 s1의 1 + s2의 4가 되어 5라는 결과값이 나올 것 같지만, 예상과 달리 2라는 결과가 나오게 되었다. 이는 두 시리즈 간의 연산을 수행할 때 인덱스를 기준으로 데이터가 정렬되어 인덱스가 일치하는 항목끼리 연산이 이루어졌기 때문이다.
print (s1 + s2)
이처럼 인덱스를 기준으로 데이터를 정렬해 연산하는 개념을 Index Alignment라고 하고, 서로 다른 두 데이터프레임을 연결할 때 인덱스를 같게 해줌으로써 편리하게 조작하고 연산할 수 있도록 도와주는 기능을 한다.