>  기사  >  백엔드 개발  >  Pandas에서 인덱스별로 DataFrame을 병합하는 방법과 사용 가능한 다양한 병합 유형은 무엇입니까?

Pandas에서 인덱스별로 DataFrame을 병합하는 방법과 사용 가능한 다양한 병합 유형은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-31 01:35:03504검색

How do you merge DataFrames in Pandas by index and what are the different types of merges available?

인덱스별 DataFrame 병합: 종합 가이드

인덱스를 기반으로 두 DataFrame을 병합하는 것은 일반적인 데이터 조작 작업입니다. 그러나 병합에 올바르게 접근하지 않으면 오류나 예상치 못한 동작이 발생할 수 있습니다. 이 가이드에서는 인덱스별로 병합하는 다양한 방법을 자세히 알아보고 주요 차이점과 잠재적인 위험을 강조합니다.

병합 함수 이해

Python의 Pandas 라이브러리에서, DataFrame을 병합하는 데 병합, 조인 및 연결과 같은 여러 기능을 사용할 수 있습니다. 각 함수에는 고유한 기본 조인 유형이 있습니다.

  • merge: 내부 조인
  • join: 왼쪽 조인
  • concat: 외부 조인

인덱스로 병합

두 개의 DataFrame을 인덱스로 병합하려면 left_index 및 right_index 매개변수를 지정해야 합니다. 병합 또는 결합 기능에서. 이는 Pandas에게 DataFrame의 행 레이블(인덱스)을 조인 키로 사용하도록 지시합니다.

예:

다음 두 DataFrame을 고려하세요.

<code class="python">df1 = pd.DataFrame({'a': range(6), 'b': [5, 3, 6, 9, 2, 4]}, index=list('abcdef'))
df2 = pd.DataFrame({'c': range(4), 'd': [10, 20, 30, 40]}, index=list('abhi'))</code>

내부 조인(기본값):

병합 기능을 사용하여 내부 조인을 수행하려면:

<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>

출력:

   a  b  c   d
a  0  5  0  10
b  1  3  1  20

왼쪽 조인(기본값):

조인 기능을 사용하여 왼쪽 조인을 수행하려면:

<code class="python">df1.join(df2)</code>

출력:

   a  b    c     d
a  0  5  0.0  10.0
b  1  3  1.0  20.0
c  2  6  NaN   NaN
d  3  9  NaN   NaN
e  4  2  NaN   NaN
f  5  4  NaN   NaN

외부 조인:

concat 함수를 사용하여 외부 조인을 수행하려면:

<code class="python">pd.concat([df1, df2], axis=1)</code>

출력:

     a    b    c     d
a  0.0  5.0  0.0  10.0
b  1.0  3.0  1.0  20.0
c  2.0  6.0  NaN   NaN
d  3.0  9.0  NaN   NaN
e  4.0  2.0  NaN   NaN
f  5.0  4.0  NaN   NaN
h  NaN  NaN  2.0  30.0
i  NaN  NaN  3.0  40.0

중요 사항:

  • 조인 열의 크기가 전체 DataFrame에 비해 작을 때 인덱스 기준 병합이 효율적입니다.
  • 인덱스 기준 외부 조인은 계산 비용이 많이 들 수 있습니다.
  • 일반적으로 병합을 수행하기 전에 인덱스를 열로 이동하는 것이 좋습니다.

위 내용은 Pandas에서 인덱스별로 DataFrame을 병합하는 방법과 사용 가능한 다양한 병합 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.