>  기사  >  백엔드 개발  >  두 데이터프레임을 비교하고 특정 열을 기반으로 차이점을 추출하는 방법은 무엇입니까?

두 데이터프레임을 비교하고 특정 열을 기반으로 차이점을 추출하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-19 21:14:02346검색

How to Compare Two Dataframes and Extract Differences Based on Specific Columns?

두 개의 데이터 프레임 비교 및 ​​차이점 식별

시나리오에는 구조와 행 인덱스가 동일한 두 개의 데이터 프레임 df1과 df2가 있습니다. 목표는 날짜와 과일 값을 비교하여 df2에는 있지만 df1에는 없는 행을 확인하는 것입니다.

직접 비교

df1 != df2 사용 방식 동일하게 레이블이 지정된 데이터 프레임이 필요하기 때문에 적합하지 않습니다. 날짜 인덱스를 제거해도 문제가 해결되지 않습니다.

연결 및 그룹화

차이점을 찾으려면 데이터 프레임을 단일 데이터 프레임 df로 연결할 수 있습니다.

<code class="python">import pandas as pd

df = pd.concat([df1, df2])
df = df.reset_index(drop=True)</code>

모든 열을 기준으로 df를 그룹화하여 고유 레코드 식별:

<code class="python">df_gpby = df.groupby(list(df.columns))</code>

고유 레코드 필터링

다음으로 고유 레코드의 인덱스를 검색합니다. , 이는 그룹 크기가 1:

<code class="python">idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]</code>

마지막으로 이러한 인덱스를 사용하여 연결된 데이터 프레임을 필터링하여 df2에만 있는 행만 얻을 수 있습니다:

<code class="python">df.reindex(idx)</code>

이렇게 하면 원하는 차이점이 포함된 데이터프레임이 반환됩니다.

         Date   Fruit   Num   Color
9  2013-11-25  Orange   8.6  Orange
8  2013-11-25   Apple  22.1     Red

위 내용은 두 데이터프레임을 비교하고 특정 열을 기반으로 차이점을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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