이 글에서는 Pandas 시리즈(Series)에 새로운 요소를 추가하는 방법을 알아봅니다. 전통적으로는 append() 함수를 사용했으며, 이 함수를 통해 기존 시리즈에 다른 시리즈 또는 리스트·튜플 형태의 시리즈들을 이어 붙일 수 있습니다.
알고리즘
1단계: 첫 번째 Pandas 시리즈 s1을 정의합니다.
2단계: 두 번째 시리즈 s2를 정의합니다.
3단계: s2를 s1에 추가(append)합니다.
4단계: 최종 병합된 시리즈를 출력합니다.
예제 코드
import pandas as pd
s1 = pd.Series([10,20,30,40,50])
s2 = pd.Series([11,22,33,44,55])
print("S1:\n",s1)
print("\nS2:\n",s2)
appended_series = s1.append(s2)
print("\nFinal Series after appending:\n",appended_series)
실행 결과
S1:
0 10
1 20
2 30
3 40
4 50
dtype: int64
S2:
0 11
1 22
2 33
3 44
4 55
dtype: int64
Final Series after appending:
0 10
1 20
2 30
3 40
4 50
0 11
1 22
2 33
3 44
4 55
dtype: int64
출력 결과를 보면 두 시리즈가 하나로 합쳐졌지만, 각 시리즈의 원래 인덱스(0~4)가 그대로 유지되어 인덱스가 중복되어 나타나는 것을 확인할 수 있습니다.
참고: 최신 Pandas에서는 pd.concat() 사용을 권장합니다
Series.append() 메서드는 Pandas 1.4.0부터 지원이 중단(deprecated)되었으며, Pandas 2.0부터는 완전히 제거되었습니다. 따라서 최신 버전의 Pandas를 사용하고 있다면 위 코드 대신 pd.concat() 함수를 사용해야 합니다.
import pandas as pd
s1 = pd.Series([10, 20, 30, 40, 50])
s2 = pd.Series([11, 22, 33, 44, 55])
# 두 시리즈를 연결
result = pd.concat([s1, s2])
print(result)
# 인덱스를 새로 부여하려면 ignore_index=True 옵션 사용
result_reset = pd.concat([s1, s2], ignore_index=True)
print(result_reset)
ignore_index=True 옵션을 사용하면 기존 인덱스를 무시하고 0부터 시작하는 새로운 인덱스가 자동으로 부여되므로, 중복 인덱스 문제를 깔끔하게 해결할 수 있습니다.