공통 열을 기반으로 여러 Pandas DataFrame을 효율적으로 병합하는 방법은 무엇입니까?
Nov 25, 2024 pm 03:25 PM3방향 조인을 사용하여 Pandas 열의 여러 DataFrame 병합
데이터 분석의 기본 작업인 데이터 병합을 사용하면 다음을 수행할 수 있습니다. 여러 소스의 데이터. Pandas에서 Join() 함수는 데이터프레임을 병합하는 강력한 도구입니다. 그러나 여러 데이터 프레임을 조인할 때 계층적 인덱싱 체계와 관련된 문제에 직면할 수 있습니다.
공통 열을 사용한 3방향 조인
세 가지가 있는 시나리오를 고려해보세요. 동일한 사람들에 대한 정보가 포함된 CSV 파일입니다. 각 파일의 첫 번째 열은 사람의 이름이고 후속 열은 해당 사람의 속성을 나타냅니다. 목표는 이러한 파일을 하나의 CSV로 결합하고 각 행에는 각 고유한 사람에 대한 모든 속성이 포함되는 것입니다.
계층적 인덱싱 및 다중 인덱스
Pandas에서는 다중 인덱스는 각 인덱스 수준이 서로 다른 열을 나타내는 인덱싱 방식을 나타냅니다. 데이터프레임을 조인할 때 다중 인덱스를 사용하여 공유 값을 기반으로 데이터를 정렬합니다. 귀하의 경우 "join" 함수는 각 데이터프레임의 인덱스인 단일 열(이름)에 조인하기 때문에 다중 인덱스가 필요함을 지정할 수 있습니다.
계층적 인덱싱
그러나 일부 시나리오에서는 계층적 인덱싱이 필요하지 않을 수 있습니다. 데이터프레임에 공통 열이 있는 경우 람다 함수와 functools 패키지를 사용하여 병합 프로세스를 단순화할 수 있습니다. 예는 다음과 같습니다.
import pandas as pd import functools as ft dfs = [df1, df2, df3, ..., dfN] df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
이 코드에서:
- dfs는 병합할 데이터프레임이 포함된 목록입니다.
- ft.reduce는 람다 함수를 적용합니다. 각 데이터프레임 쌍에 "이름"을 기준으로 병합합니다.
- df_final은 각 고유한 사람에 대한 모든 속성을 포함하는 결과 데이터 프레임입니다.
이 접근 방식은 복잡한 계층적 색인 구성표를 지정하지 않고도 여러 데이터 프레임을 병합하는 데 편리합니다.
위 내용은 공통 열을 기반으로 여러 Pandas DataFrame을 효율적으로 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?
