> 백엔드 개발 > 파이썬 튜토리얼 > 한 Pandas DataFrame에는 있지만 다른 DataFrame에는 없는 행을 식별하는 방법은 무엇입니까?

한 Pandas DataFrame에는 있지만 다른 DataFrame에는 없는 행을 식별하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-14 08:20:15
원래의
324명이 탐색했습니다.

How to Identify Rows Present in One Pandas DataFrame but Absent in Another?

DataFrame 간에 서로 다른 행 식별

문제 설명

행이 교차하는 두 개의 Pandas 데이터 프레임(df1 및 df2)이 주어지면 작업은 df1에 없는 행 df2.

해결책

이 문제를 해결하려면 df1에서 df2로 left-join을 수행하여 df2에서 중복을 제거하여 df1의 각 행이 단 하나의 행으로 조인되도록 할 수 있습니다. df2.

df_all = df1.merge(df2.drop_duplicates(), on=['col1', 'col2'], how='left', indicator=True)
로그인 후 복사

이 왼쪽 조인은 각 원본을 나타내는 추가 열 _merge를 생성합니다. row.

df1에만 해당하는 행을 필터링하기 위해 부울 조건을 적용합니다.

df_filtered = df_all[df_all['_merge'] == 'left_only']
로그인 후 복사

잘못된 솔루션

일부 솔루션은 각 열의 각 값을 독립적으로 확인하는 데 오류가 있습니다. 행 단위의 존재를 고려하는 대신. 예를 들어 다음 솔루션은

(~df1.col1.isin(common.col1)) & (~df1.col2.isin(common.col2))
로그인 후 복사

공통적으로 없는 [3, 10] 값이 있는 행을 캡처하지 못하기 때문에 잘못된 결과를 반환합니다.

0    False
1    False
2    False
3     True
4     True
5    False
dtype: bool
로그인 후 복사

위 내용은 한 Pandas DataFrame에는 있지만 다른 DataFrame에는 없는 행을 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿