>  기사  >  백엔드 개발  >  하나의 DataFrame에 초기 정보를 보존하면서 열의 DataFrame을 병합하는 방법은 무엇입니까?

하나의 DataFrame에 초기 정보를 보존하면서 열의 DataFrame을 병합하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-01 12:50:02360검색

How to Merge DataFrames on a Column While Preserving the Initial Information in One DataFrame?

초기 정보를 보존하면서 열의 데이터 프레임 병합

Pandas의 병합 기능을 사용함에도 불구하고 데이터 프레임 df1 및 df2를 병합하는 데 어려움을 겪고 있습니다. df1의 정보를 유지하면서 '이름' 열에.

문제:

병합 작업에서:
df1 = pd.merge(df1, df2, on = '이름', 방법 = '외부')

두 데이터프레임의 개별을 포함하는 외부 조인을 수행하고 있습니다. 이로 인해 원래 df1에 나타나지 않더라도 df2의 개인이 df1에 포함됩니다.

해결책:

이 문제를 해결하려면 다음 중 하나를 활용할 수 있습니다. 다음 방법 중:

방법 1: set_index로 생성된 Series별 맵 사용:

df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])

이 접근 방식은 'Name'을 인덱스로 사용하여 Series를 설정합니다. df2의 'Sex' 열. 그런 다음 df1의 'Name' 열이 이 Series에 매핑되어 일치하는 'Sex' 값을 할당합니다. 누락된 값은 NaN으로 설정하여 해결됩니다.

방법 2: 왼쪽 조인 수행:

df = df1.merge(df2[['Name','Sex']], on='Name', how='left')

왼쪽 조인은 df1의 개인이 우선순위를 갖도록 보장합니다. df2에 누락된 값이 없으면 NaN으로 채워집니다.

고려 사항:

  • 여러 병합 열: 병합하는 경우 여러 열의 경우 'on' 매개변수에 지정합니다(예: on=['Year','Code'].
  • 중복 값: 중복된 병합 열 값은 문제를 일으킬 수 있습니다. 적절한 값을 선택하려면 병합하기 전에 중복된 항목을 제거하거나 사전에 의한 맵을 사용하는 것이 좋습니다.

위 내용은 하나의 DataFrame에 초기 정보를 보존하면서 열의 DataFrame을 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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