>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame을 비교하고 차이점을 시각화하는 방법은 무엇입니까?

Pandas DataFrame을 비교하고 차이점을 시각화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-22 20:45:19993검색

How to Compare Pandas DataFrames and Visualize Differences?

데이터 프레임 비교 및 ​​차이점 시각화

두 개의 Pandas 데이터 프레임이 주어지면 변경 사항을 식별하고 보여주는 것이 임무입니다. 사용자 친화적인 형식으로 구성됩니다. 목표는 변경된 행을 시각적으로 강조 표시하여 원래 값과 업데이트된 값을 모두 표시하는 HTML 테이블을 출력하는 것입니다.

행 변경 식별

이를 달성하려면, 변경된 행을 확인해야 합니다. 이는 두 데이터프레임의 해당 값이 다른 모든 요소에 대해 부울 마스크를 반환하는 ne(같지 않음) 연산을 활용하여 수행할 수 있습니다.

<code class="python">ne = (df1 != df2).any(1)</code>

수정된 항목 찾기

변경된 행이 식별되면 stack() 함수를 사용하여 수정된 특정 항목을 찾을 수 있습니다. 누적된 결과를 부울 마스크를 기준으로 필터링하면 변경된 항목의 추출이 가능해집니다.

<code class="python">changed = (df1 != df2).stack()[ne_stacked]
changed.index.names = ['id', 'col']</code>

변경된 값 추출

다음으로 원본 업데이트된 값은 where 함수를 사용하여 추출할 수 있습니다. 이를 통해 각각 원래 값과 수정된 값을 나타내는 "from" 및 "to" 열을 사용하여 변경 사항을 요약하는 DataFrame을 생성할 수 있습니다.

<code class="python">difference_locations = np.where(df1 != df2)
changed_from = df1.values[difference_locations]
changed_to = df2.values[difference_locations]</code>

HTML 테이블 생성

마지막으로 추출된 변경 사항을 HTML 테이블로 구성하여 두 데이터 프레임 간의 차이점을 시각화할 수 있습니다. 이 테이블은 Pandas의 to_html 메소드와 같은 HTML 렌더링 엔진으로 렌더링되어 사용자 친화적인 병렬 비교를 제공할 수 있습니다.

<code class="python">pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index).to_html()</code>

위 내용은 Pandas DataFrame을 비교하고 차이점을 시각화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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