> 백엔드 개발 > 파이썬 튜토리얼 > 다양한 조인 유형을 사용하여 Pandas DataFrame을 어떻게 병합합니까?

다양한 조인 유형을 사용하여 Pandas DataFrame을 어떻게 병합합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-27 13:17:11
원래의
347명이 탐색했습니다.

How Do Pandas DataFrames Merge Using Different Join Types?

Pandas 병합 101

병합 이해

병합은 공유 키를 기반으로 두 개 이상의 DataFrame을 결합하여 새 DataFrame을 생성합니다. . Pandas는 INNER, LEFT, RIGHT 및 FULL OUTER 조인을 포함한 다양한 유형의 병합을 제공합니다.

기본 조인 유형

a. INNER JOIN

  • 두 DataFrame에서 공통 키를 공유하는 행을 결합합니다.
  • 예:

    left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': np.random.randn(4)})
    right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': np.random.randn(4)})
    left.merge(right, on='key')
    로그인 후 복사

ㄴ. LEFT OUTER JOIN

  • 오른쪽 DataFrame의 누락된 키에 NaN 값을 추가하여 왼쪽 DataFrame의 모든 행을 유지합니다.
  • 예:

    left.merge(right, on='key', how='left')
    로그인 후 복사

ㄷ. RIGHT OUTER JOIN

  • 오른쪽 DataFrame의 모든 행을 유지하고 왼쪽 DataFrame의 누락된 키에 NaN 값을 추가합니다.
  • 예:

    left.merge(right, on='key', how='right')
    로그인 후 복사

라. FULL OUTER JOIN

  • 두 DataFrame의 모든 행을 결합하여 누락된 키에 대해 NaN 값을 추가합니다.
  • 예:

    left.merge(right, on='key', how='outer')
    로그인 후 복사

데이터 제외 Left/Right 제외 조인

특정 행을 제외해야 하는 경우 먼저 LEFT/RIGHT OUTER JOIN을 수행한 후 필터링하여 행을 제외함으로써 Left-Exclusive 또는 Right-Exclusion JOIN을 수행할 수 있습니다. 다른 DataFrame.

e. 왼쪽 제외 JOIN

  • 왼쪽 DataFrame에 있는 오른쪽 DataFrame의 행을 제외합니다.
  • 예:

    (left.merge(right, on='key', how='left', indicator=True)
     .query('_merge == "left_only"')
     .drop('_merge', 1))
    로그인 후 복사

f. 오른쪽 제외 JOIN

  • 오른쪽 DataFrame에 있는 왼쪽 DataFrame의 행을 제외합니다.
  • 예:

    (left.merge(right, on='key', how='right', indicator=True)
     .query('_merge == "right_only"')
     .drop('_merge', 1))
    로그인 후 복사

지. ANTI JOIN

  • 두 DataFrame에 없는 행을 결합합니다.
  • 예:

    (left.merge(right, on='key', how='outer', indicator=True)
     .query('_merge != "both"')
     .drop('_merge', 1))
    로그인 후 복사

중복 키 처리 열

출력에서 중복 키 열을 방지하려면 병합하기 전에 적절한 인덱스를 키로 설정할 수 있습니다.

left3 = left2.set_index('keyLeft')
left3.merge(right2, left_index=True, right_on='keyRight')
로그인 후 복사

여러 열 병합

여러 열에 조인하려면 on(또는 left_on 및 right_on에 대한 목록을 지정하세요. 적절).

left.merge(right, on=['key1', 'key2'] ...)
로그인 후 복사

추가 병합 기능

  • pd.merge_ordered: 순서가 지정된 JOIN의 경우.
  • pd.merge_asof: 대략적인 경우

더 구체적인 예와 사례는 병합, 조인, 연결에 대한 문서를 참조하세요.

위 내용은 다양한 조인 유형을 사용하여 Pandas DataFrame을 어떻게 병합합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿