>  기사  >  백엔드 개발  >  Python을 사용하여 데이터프레임 차이점을 효과적으로 비교하고 표시하는 방법

Python을 사용하여 데이터프레임 차이점을 효과적으로 비교하고 표시하는 방법

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

How to Compare and Display Dataframe Differences Effectively Using Python

데이터프레임의 차이점을 효과적으로 비교하고 표시하기

소개

둘 사이의 차이점을 식별하고 이해하기 데이터프레임은 데이터 분석의 일반적인 작업입니다. 과거 데이터를 현재 추세와 비교하거나 데이터베이스의 변경 사항을 추적하는 경우 이러한 변경 사항을 정확하게 강조 표시하는 기능이 중요합니다.

문제 설명

두 개의 데이터 프레임이 있다고 가정합니다. 서로 다른 두 달의 학생 명단 정보("StudentRoster Jan-1" 및 "StudentRoster Jan-2")가 포함되어 있습니다. 우리의 목표는 각 행의 새 값과 기존 값을 모두 표시하여 두 데이터프레임 간의 변경 사항을 명확하게 표시하는 HTML 테이블을 만드는 것입니다.

해결책

변경된 행 식별

첫 번째 단계는 실제로 변경된 행을 확인하는 것입니다. any() 함수를 사용하여 각 행의 차이점을 확인할 수 있습니다.

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

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

이렇게 하면 True가 변경된 행을 나타내는 부울 시리즈가 반환됩니다.

변경된 값 추출

다음으로 실제 변경된 값을 추출해야 합니다. .stack() 메서드를 사용하여 데이터프레임을 단일 열로 변환한 다음 변경된 값에 대해 이 열을 필터링합니다.

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

이렇게 하면 변경된 값의 인덱스와 열 이름이 제공됩니다.

이전 값과 새 값 추출

변경된 값의 색인을 사용하여 변경된 각 항목에 대한 이전 값과 새 값을 추출할 수 있습니다.

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

HTML 테이블 생성

마지막으로 추출된 값을 결합하여 HTML 테이블을 생성할 수 있습니다.

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

이 데이터 프레임에는 "from"이라는 두 개의 열이 포함되어 있습니다. 변경된 각 항목에 대한 원래 값과 새 값을 표시하는 "to"입니다. 데이터프레임의 인덱스는 변경이 발생한 행과 열을 식별합니다.

변경된 값과 이전 및 새 값을 나란히 표시함으로써 이 HTML 테이블은 변경 사항에 대한 명확하고 포괄적인 개요를 제공합니다. 두 데이터프레임 사이에 있습니다.

위 내용은 Python을 사용하여 데이터프레임 차이점을 효과적으로 비교하고 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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