>  기사  >  백엔드 개발  >  DataFrame을 병합하고 둘 다의 열을 포함하는 방법은 무엇입니까?

DataFrame을 병합하고 둘 다의 열을 포함하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-02 12:43:03935검색

How to Merge DataFrames and Include Columns from Both?

열 포함으로 DataFrame 병합

두 개의 DataFrame을 병합할 때 첫 번째의 정보를 유지하면서 두 번째의 데이터를 통합하는 것이 일반적입니다. Pandas에서 이를 달성하는 방법을 살펴보겠습니다.

다음 시나리오를 고려해 보세요.

  • DataFrame df1에는 개인의 연령 정보가 포함되어 있습니다.
  • DataFrame df2에는 개인의 성별 정보가 포함되어 있습니다. .

우리의 목표는 df2에 없는 개인에 대한 정보를 유지하면서 df1에 성별 정보를 채우는 것입니다.

해결책

방법 1: Pandas의 병합 기능 사용 with left Join

<code class="python">df = df1.merge(df2[['Name', 'Sex']], on='Name', how='left')</code>

이 병합 작업은 df1의 모든 행을 유지하고(왼쪽 조인으로 인해) Sex의 값을 업데이트하는 동시에 Name 열의 df1을 df2와 조인합니다.

방법 2: Pandas의 map 함수 사용

<code class="python">df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])</code>

이 접근 방식은 map 함수를 사용하여 df2의 인덱스로 Name을 설정하는 동안 df1의 Name 열을 df2의 Sex 열에 매핑합니다. 이는 두 DataFrame의 개별 항목을 효과적으로 일치시켜 누락된 값을 NaN으로 채웁니다.

고려 사항

df2에 중복된 이름 값이 있는 경우 맵 접근 방식은 일관되지 않은 결과를 반환할 수 있습니다. 이러한 경우 df2 중복을 제거하거나 사전 기반 매핑을 사용하는 것이 좋습니다.

또한 Name에 누락된 값이 포함된 경우 일치하지 않는 행이 제거될 수 있으므로 병합 기능을 주의해서 사용하세요. 데이터 무결성이 중요한 경우 병합하기 전에 누락된 값을 적절하게 처리하세요.

위 내용은 DataFrame을 병합하고 둘 다의 열을 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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