행의 차이에 대한 DataFrame 비교
동일한 행과 열을 가진 두 데이터프레임을 비교할 때 단순 비교 연산(df1 != df2) 충분합니다. 그러나 데이터프레임에 서로 다른 행 집합이 있는 경우 차이점을 식별하려면 다른 접근 방식이 필요합니다.
Concat, Group 및 Filter
데이터프레임을 비교하는 한 가지 방법 행 차이점은 이를 연결하고, 열별로 그룹화하고, 고유한 행을 필터링하는 것입니다. 다음 코드는 이를 보여줍니다.
<code class="python">df = pd.concat([df1, df2]) df = df.reset_index(drop=True) df_gpby = df.groupby(list(df.columns)) idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1] result = df.reindex(idx)</code>
연결된 데이터 프레임(df)은 모든 열(df_gpby)로 그룹화됩니다. 'groups.values()' 메서드는 반복 가능한 튜플을 반환하며, 여기서 각 튜플은 고유한 행의 인덱스를 나타냅니다. 길이(len(x) == 1)로 튜플을 필터링하면 하나의 데이터프레임에만 존재하는 행을 식별합니다. 마지막으로 필터링된 인덱스(idx)로 데이터 프레임을 다시 인덱싱하면 행 차이가 포함된 데이터 프레임이 생성됩니다.
출력 예시
제공된 예시 데이터 프레임 사용:
>>> result Date Fruit Num Color 9 2013-11-25 Orange 8.6 Orange 8 2013-11-25 Apple 22.1 Red
이 출력은 df2에는 있지만 df1에는 없는 행을 보여줍니다.
위 내용은 행의 차이에 대해 DataFrame을 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!