logo

Python에서 두 데이터프레임을 결합하는 방법 - Pandas

팬더

Pandas는 Python 프로그래밍 언어로 관계형 데이터를 작업하는 데 사용되는 Python에 내장된 라이브러리입니다. 관계형 데이터의 작동에 도움이 되는 많은 기능과 데이터 구조를 가지고 있습니다.

데이터가 행과 열의 형태로 저장되거나 2차원 데이터를 일반적으로 팬더에서는 데이터프레임이라고 합니다.

두 개의 데이터 프레임이 있는 경우 팬더의 도움으로 이를 결합하거나 단일 데이터 프레임으로 병합할 수 있습니다. Pandas는 서로 다른 두 데이터프레임의 데이터를 결합하는 세트 로직과 이를 비교하는 로직을 제공합니다.

1. concat() 함수 사용하기

Python에서는 Pandas의 concat() 함수를 사용하여 두 데이터프레임을 연결할 수 있습니다. 데이터를 행 단위 또는 열 단위로 연결할 수 있습니다. 한 축(행 또는 열)의 데이터를 병합하고 다른 축(다른 인덱스)에 설정된 논리를 수행하는 기능입니다.

예:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result) 

산출:

Python에서 두 데이터프레임을 결합하는 방법 - Pandas

설명:

위 코드에서는 먼저 Pandas 라이브러리를 파일로 가져왔습니다. 그런 다음 각 데이터프레임에 3개의 열과 4개의 행이 포함된 2개의 데이터프레임을 만들었습니다. 그런 다음 이 두 데이터프레임을 행 단위로 연결하는 concat 함수를 사용하고 표시 함수를 사용하여 이를 화면에 인쇄했습니다.

2. 팬더에서 조인 사용

우리는 몇 가지 공통 속성을 기반으로 두 테이블을 조인하는 데이터베이스의 조인 개념을 이해했습니다. 데이터프레임 연결에도 동일한 방법을 적용할 수 있습니다. 간단한 concat() 메서드에서는 모든 행을 서로 병합하고 새 데이터프레임을 만들었습니다. 조인에서는 내부 조인이든 외부 조인이든 테이블에서 수행하려는 조인 유형을 정의합니다. 내부 조인(교차) 또는 외부 조인(합집합) 중 어떤 유형의 조인이든 조인 속성에 정의됩니다.

예:

uml 다이어그램 자바
 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result) 

산출:

Python에서 두 데이터프레임을 결합하는 방법 - Pandas

설명:

위의 코드에는 2개의 열과 4개의 행을 포함하는 2개의 daraframe이 있습니다. 두 데이터프레임 모두 열 이름이 다르며 concat() 함수에서는 교차 부분을 취하는 내부 조인을 사용했습니다.

축 속성에서 값 1을 초기화했으므로 전체 데이터를 얻었습니다.

예:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

산출:

무순_맵 C++
Python에서 두 데이터프레임을 결합하는 방법 - Pandas

공통 속성이 없고 내부 조인이 적용되었으므로 빈 데이터프레임이 출력됩니다. 두 데이터프레임 모두에 공통 속성이 있는 경우:

예:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

산출:

Python에서 두 데이터프레임을 결합하는 방법 - Pandas

설명:

위의 코드에는 공통 속성인 'id'가 하나 있으므로 데이터 프레임은 공통 속성만을 기반으로 생성됩니다.

3.append() 메소드 사용

concat() 메소드 대신에append() 메소드를 사용할 수 있습니다. 이 추가() 메서드는 데이터 프레임 중 하나에 적용됩니다.

예:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result) 

산출:

Python에서 두 데이터프레임을 결합하는 방법 - Pandas

설명:

위 코드에서는 추가 메서드를 사용하여 두 개의 데이터프레임을 병합했습니다.