Pandas DataFrame を比較して違いを視覚化する方法

Mary-Kate Olsen
リリース: 2024-10-22 20:45:19
オリジナル
914 人が閲覧しました

How to Compare Pandas DataFrames and Visualize Differences?

データフレームを比較し、並べて比較して違いを視覚化する

2 つの Pandas データフレームが与えられた場合、タスクは変更を特定して表示することですユーザーフレンドリーな形式でそれらの間を共有します。目標は、変更された行を視覚的に強調表示し、元の値と更新された値の両方を表示する HTML テーブルを出力することです。

行の変更の識別

これを達成するには、次のようにします。変更された行を特定する必要があります。これは、ne (等しくない) 演算を利用することで実現できます。この演算は、2 つのデータフレーム内の対応する値が異なるすべての要素のブール マスクを返します。

<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 テーブルに整理して、2 つのデータフレーム間の違いを視覚化できます。このテーブルは、Pandas の to_html メソッドなどの HTML レンダリング エンジンを使用してレンダリングでき、ユーザー フレンドリーな並べて比較できます。

<code class="python">pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index).to_html()</code>
ログイン後にコピー

以上がPandas DataFrame を比較して違いを視覚化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!