Python에서 데이터 프레임을 병합하는 방법 알아보기

Python에서 데이터 프레임을 병합하는 방법 알아보기

Python을 사용한다면 가장 단순한 작업일지라도 타사 라이브러리의 중요성을 알고 있을 것입니다. DataFrames에 대한 탁월한 지원을 제공하는 Pandas 라이브러리가 그러한 라이브러리 중 하나입니다.





여러 유형의 파일을 Python DataFrame으로 가져오고 다양한 버전을 만들어 다양한 데이터 세트를 저장할 수 있습니다. DataFrames를 사용하여 데이터를 가져오면 이를 병합하여 자세한 분석을 수행할 수 있습니다.





기본 사항 다루기

병합을 시작하기 전에 병합할 DataFrame이 있어야 합니다. 개발 목적으로 실험할 더미 데이터를 생성할 수 있습니다.





Python에서 DataFrame 만들기

첫 번째 단계로 Pandas 라이브러리를 Python 파일로 가져옵니다. Pandas는 Python에서 DataFrames를 처리하는 타사 라이브러리입니다. 당신은 사용할 수 있습니다 수입 다음과 같이 라이브러리를 사용하는 명령문:

import pandas as pd

라이브러리 이름에 별칭을 할당하여 코드 참조를 줄일 수 있습니다.



DataFrame으로 변환할 수 있는 사전을 만들어야 합니다. 최상의 결과를 얻으려면 두 개의 사전 변수를 만드십시오. dict1 그리고 dict2— 특정 정보를 저장하려면:

Windows 10을 더 빠르게 실행하는 방법
dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

나중에 DataFrames를 결합하기 위한 기본 키로 작동하려면 두 사전 값에 공통 요소가 있어야 한다는 것을 기억하십시오.





사전을 DataFrame으로 변환

사전 값을 DataFrames로 변환하려면 다음 방법을 사용할 수 있습니다.

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

일부 IDE를 사용하면 DataFrame 함수를 참조하고 키를 눌러 DataFrame 내의 값을 확인할 수 있습니다. 실행/실행 . 많이있다 Python 호환 IDE , 그래서 당신은 당신이 배우기 가장 쉬운 것을 선택하고 선택할 수 있습니다.





  Jupyter 노트북 코드 스니펫

DataFrames의 내용에 만족하면 병합 단계로 이동할 수 있습니다.

병합 기능으로 프레임 결합

병합 함수는 두 개의 DataFrame을 결합하는 데 사용할 수 있는 첫 번째 Python 함수입니다. 이 함수는 다음과 같은 기본 인수를 사용합니다.

pd.merge(DataFrame1, DataFrame2, how= type of merge)

어디에:

  • PD Pandas 라이브러리의 별칭입니다.
  • 병합 DataFrame을 병합하는 함수입니다.
  • 데이터프레임1 그리고 데이터프레임2 병합할 두 DataFrame입니다.
  • 어떻게 병합 유형을 정의합니다.

복잡한 데이터 구조가 있을 때 사용할 수 있는 몇 가지 추가 선택적 인수를 사용할 수 있습니다.

방법 매개변수에 다른 값을 사용하여 수행할 병합 유형을 정의할 수 있습니다. 이러한 유형의 병합은 SQL을 사용하여 데이터베이스 테이블 조인 .

왼쪽 병합

왼쪽 병합 유형은 첫 번째 DataFrame의 값을 그대로 유지하고 두 번째 DataFrame에서 일치하는 값을 가져옵니다.

  Jupyter 노트북 코드 스니펫

오른쪽 병합

올바른 병합 유형은 두 번째 DataFrame의 값을 그대로 유지하고 첫 번째 DataFrame에서 일치하는 값을 가져옵니다.

tar.gz 파일의 압축을 푸는 방법
  Jupyter 노트북 코드 스니펫

내부 병합

내부 병합 유형은 두 DataFrame에서 일치하는 값을 유지하고 일치하지 않는 값을 제거합니다.

  Jupyter 노트북 코드 스니펫

외부 병합

외부 병합 유형은 일치하는 값과 일치하지 않는 모든 값을 유지하고 DataFrames를 함께 통합합니다.

  Jupyter 노트북 코드 스니펫

Concat 기능을 사용하는 방법

그만큼 연결 function은 Python의 다른 병합 기능에 비해 유연한 옵션입니다. concat 함수를 사용하면 DataFrame을 수직 및 수평으로 결합할 수 있습니다.

그러나 이 함수를 사용할 때의 단점은 기본적으로 일치하지 않는 값을 모두 버린다는 것입니다. 다른 관련 함수와 마찬가지로 이 함수에는 몇 가지 인수가 있으며 그 중 몇 가지만 성공적인 연결에 필수적입니다.

concat(dataframes, axis=0, join='outer'/inner)

어디에:

  • 연결 DataFrames를 결합하는 함수입니다.
  • 데이터 프레임 연결할 DataFrame의 시퀀스입니다.
  • 중심선 연결 방향을 나타내며 0은 가로, 1은 세로입니다.
  • 가입하다 외부 또는 내부 조인을 지정합니다.

위의 두 DataFrame을 사용하여 다음과 같이 concat 함수를 시도할 수 있습니다.

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

위 코드에서 축 및 조인 인수가 없으면 두 데이터세트가 결합됩니다. 결과 출력에는 일치 상태에 관계없이 모든 항목이 있습니다.

인터넷으로 노트북에서 TV를 보는 방법

마찬가지로 추가 인수를 사용하여 concat 함수의 방향과 출력을 제어할 수 있습니다.

일치하는 모든 항목으로 출력을 제어하려면 다음을 수행합니다.

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

결과에는 두 DataFrame 간의 일치하는 모든 값만 포함됩니다.

  Jupyter 노트북 코드 스니펫

Python과 DataFrame 병합

DataFrames는 유연성과 기능을 고려할 때 Python의 필수적인 부분입니다. 다면적 용도를 감안할 때 광범위하게 사용하여 다양한 작업을 최대한 쉽게 수행할 수 있습니다.

아직 Python DataFrames에 대해 배우고 있다면 일부 Excel 파일을 가져온 다음 다른 접근 방식과 결합해 보십시오.