>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame을 겹치는 열과 결합하는 방법은 무엇입니까?

Pandas DataFrame을 겹치는 열과 결합하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-25 03:23:02989검색

How to Combine Pandas DataFrames with Overlapping Columns?

공유 열을 기반으로 Pandas 데이터 프레임을 결합하는 방법

문제:

두 개의 Pandas 데이터를 결합하려고 할 때 DataFrame.join() 메서드를 사용하는 프레임을 사용하면 오류가 발생합니다: "열이 겹칩니다."

데이터 프레임:

  • restaurant_ids_dataframe: 레스토랑에 대한 정보를 포함합니다. ID, 카테고리, 주소 등
  • restaurant_review_frame: 날짜, 별, 사용자 ID 등의 리뷰 데이터가 포함됩니다.

시도된 코드:

<code class="python">restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')</code>

오류:

<code class="text">Exception: columns overlap: Index([business_id, stars, type], dtype=object)</code>

해결책:

오류를 해결하고 데이터 프레임을 결합하려면 Join() 대신 merge() 메서드:

<code class="python">import pandas as pd
result = pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>

기본적으로 merge()는 두 데이터 프레임의 모든 행을 결합하는 외부 조인을 사용합니다. on 인수는 병합 작업을 수행하는 데 사용되는 열을 지정합니다.

겹치는 열에 대한 접미사:

두 데이터 프레임 모두 별이라는 열을 갖기 때문에 병합된 데이터 프레임은 두 개의 열(stars_x 및 star_y)이 포함됩니다. 이러한 접미사를 맞춤설정하려면 접미사 인수를 사용하세요.

<code class="python">result = pd.merge(..., suffixes=('_restaurant_id', '_restaurant_review'))</code>

이렇게 하면 병합된 데이터 프레임에서 별 열의 이름이 star_restaurant_id 및 star_restaurant_review로 변경됩니다.

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

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