Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas에서 인덱스 중복 없이 두 개의 시리즈를 하나로 연결하는 Python 코드

Pandas에서 두 개의 시리즈(Series)를 단순히 pd.concat()으로 연결하면 각 시리즈의 기존 인덱스가 그대로 유지되어 인덱스가 중복되는 문제가 발생합니다. 이 글에서는 ignore_index=True 옵션을 활용해 인덱스를 0부터 새로 부여하면서 두 시리즈를 깔끔하게 하나로 합치는 방법을 알아봅니다.

문제 상황

다음과 같은 두 개의 시리즈가 있다고 가정해 보겠습니다.

series_one = [1, 2, 3]
series_two = [4, 5, 6]

이 두 시리즈를 연결했을 때 원하는 결과는 인덱스가 0부터 5까지 순차적으로 이어지는 형태입니다.

0    1
1    2
2    3
3    4
4    5
5    6

해결 방법

이 문제는 다음 두 단계로 해결할 수 있습니다.

  • 연결할 두 개의 시리즈를 정의합니다.

  • pd.concat() 함수에 ignore_index=True 옵션을 지정하여 두 시리즈를 연결합니다. 이 옵션은 기존 인덱스를 무시하고 0부터 시작하는 새로운 인덱스를 자동으로 생성해 줍니다.

pd.concat([series_one, series_two], ignore_index=True)

전체 예제 코드

아래는 전체 구현 예제입니다.

import pandas as pd

series_one = pd.Series([1, 2, 3])
series_two = pd.Series([4, 5, 6])

print(pd.concat([series_one, series_two], ignore_index=True))

실행 결과

0    1
1    2
2    3
3    4
4    5
5    6

ignore_index=True를 사용하지 않으면 결과의 인덱스가 0, 1, 2, 0, 1, 2처럼 중복되어 나타납니다. 반면 이 옵션을 적용하면 위와 같이 인덱스가 0부터 5까지 연속적으로 재설정되어, 이후 데이터 처리나 분석 작업을 훨씬 수월하게 진행할 수 있습니다.