두 DataFrame의 차이점 찾기
데이터 분석에서는 데이터세트 간의 불일치를 식별하는 것이 중요합니다. df1과 df2라는 두 개의 데이터 프레임이 있다고 가정합니다. 여기서 df2는 df1의 하위 집합입니다. df1에는 있지만 df2에는 없는 고유한 행과 열을 효율적으로 검색하려면 차이 집합 개념을 활용할 수 있습니다.
접근 방식: pd.concat 및 drop_duplicates**
기본 접근 방식은 pd.concat을 사용하여 두 데이터프레임을 결합한 후 중복 행을 제거하거나 drop_duplicates를 사용하는 열. keep=False를 설정하면 df1에만 존재하는 행이나 열만 유지됩니다.df3 = pd.concat([df1, df2]).drop_duplicates(keep=False)
주의 사항: 중복 항목 처리
그러나 이는 메서드는 두 데이터프레임 자체에 중복 값이 포함되어 있지 않다고 가정합니다. 그렇게 하면 결과가 부정확할 수 있습니다. 이 문제를 해결하기 위해 다음과 같은 대체 접근 방식을 사용할 수 있습니다.방법 1: Tuple과 함께 isin 사용
이 방법에는 각 행을 다음으로 변환하는 작업이 포함됩니다. df.apply(tuple, 1)을 사용하여 튜플을 만든 다음 다음을 사용하여 튜플이 df2에 있는지 확인합니다. df.apply(튜플, 1).isin(df2.apply(튜플, 1)). 결과 데이터 프레임에는 df2에 없는 df1의 고유한 행이 포함됩니다.df1[~df1.apply(tuple, 1).isin(df2.apply(tuple, 1))]
방법 2: 표시기와 병합
또 다른 접근 방식은 df1을 다음과 병합하는 것입니다. df1에만 존재하는 행을 식별하는 표시기와 함께 pd.merge를 사용하는 df2. 람다 함수를 사용하면 '_merge' 열이 'both'와 같지 않은 행을 필터링할 수 있습니다.df1.merge(df2, indicator=True, how='left').loc[lambda x: x['_merge']!='both']
결론
이를 활용하여 기술을 사용하면 두 데이터프레임 간의 차이점을 효과적으로 찾고 각 데이터프레임에 존재하는 고유한 데이터 포인트에 대한 통찰력을 얻을 수 있습니다.위 내용은 DataFrame2에 없는 DataFrame1의 고유 행을 어떻게 효율적으로 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!