데이터프레임 작업을 할 때 특정 기준에 따라 두 데이터프레임을 결합해야 하는 경우가 많습니다. 이 경우 목표는 인덱스별로 두 개의 데이터 프레임 df1과 df2를 병합하는 것입니다.
기본적으로 Python Pandas 라이브러리의 merge() 함수는 열 기반 일치를 기대합니다. 그러나 특정 매개변수를 사용하면 인덱스 병합이 가능합니다.
일치하는 인덱스가 있는 행만 유지되는 내부 조인을 수행하려면 다음 코드를 사용하세요.
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
이 작업은 다음 출력:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
또는 Join() 메서드를 사용하여 왼쪽 조인을 수행할 수 있습니다.
<code class="python">df1.join(df2)</code>
결과는 다음과 같습니다.
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | NaN |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
마지막으로 concat() 함수를 사용하여 외부 조인을 구현할 수 있습니다.
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
결과 데이터 프레임에는 두 입력 데이터 프레임의 모든 행이 포함됩니다.
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
8 | 36 | false | 0.50 | 1 | NaN |
NaN | 37 | false | 0.30 | 2 | NaN |
병합 인덱스에 대한 작업은 일반적인 관행이 아니므로 데이터 손실이나 무결성 문제를 방지하기 위해 신중하게 고려해야 합니다. 색인별 병합이 불가피한 경우 제공된 방법은 원하는 결과를 얻을 수 있는 유연한 옵션을 제공합니다.
위 내용은 Pandas의 인덱스를 기반으로 두 개의 DataFrame을 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!