SeabornでPythonヒートマップを作成する方法は? 【総合説明】

公開: 2021-10-06

ビッグデータ時代の企業は、日々大量のデータに圧倒されています。 ただし、重要なのは、関連するデータの量ではなく、データをどのように処理するかです。 したがって、ビッグデータを分析して、最終的にはより良い意思決定を指示し、戦略的なビジネスの動きに影響を与える洞察を得る必要があります。

それでも、データを分析してそこに残すだけでは十分ではありません。 次のステップは、データを視覚的な形式で表示して、データのパターン、傾向、および外れ値を確認および理解するデータの視覚化です。 Pythonのヒートマップは、多くのデータ視覚化手法の1つです。

データの視覚化とは、データのグラフィック表現を指し、グラフ、チャート、マップ、およびその他の視覚要素が含まれる場合があります。 膨大な量の情報を分析し、データに基づいた意思決定を行うために非常に重要です。

この記事では、Pythonでのヒートマップの概念と、Seabornを使用してヒートマップを作成する方法について説明します。

目次

ヒートマップとは何ですか?

Pythonのヒートマップは、関心のある値が他の2つの変数の値とともにどのように変化するかを色で表すデータ視覚化手法です。 これは、値が色でエンコードされたデータの2次元のグラフィック表現であり、それによって、情報の簡素化された洞察に満ちた視覚的に魅力的なビューを提供します。 以下の画像は、ヒートマップを簡略化して表したものです。

通常、ヒートマップは、さまざまなカテゴリのセットを表す行と列を持つデータテーブルです。 テーブルの各セルには、特定のカラーパレットに基づいてセルの色を決定する論理値または数値が含まれています。 したがって、ヒートマップは色を使用して、生の数値を使用して通常のテーブルに配置した場合に理解するのが難しいデータ値間の関係を強調します。

ヒートマップは、いくつかの実際のシナリオでアプリケーションを見つけます。 たとえば、以下のヒートマップについて考えてみます。 これは、株式市場の一般的な傾向を特定する株価指数ヒートマップです。 ヒートマップは、コールドからホットへの配色を使用して、弱気の株と強気の株を示します。 前者は赤で表され、後者は緑で表されます。

ソース

ヒートマップは、他のいくつかの分野で使用されています。 いくつかの例には、Webサイトのヒートマップ、地理的なヒートマップ、およびスポーツのヒートマップが含まれます。 たとえば、ヒートマップを使用して、一連の都市全体で1年の月に応じて降雨量がどのように変化するかを理解できます。 ヒートマップは、人間の行動を研究するのにも非常に便利です。

相関ヒートマップ

相関ヒートマップは、2つの異なる変数間の相関を示す2次元マトリックスです。 表の行には最初の変数の値が表示され、2番目の変数は列として表示されます。 通常のヒートマップと同様に、相関ヒートマップにもデータを読み取って理解するためのカラーバーが付属しています。

使用される配色は、配色の一方の端が低値のデータポイントを表し、もう一方の端が高値のデータポイントを表すようになっています。 したがって、相関ヒートマップは、データの変動を強調しながら、パターンを読みやすい形式で表示するため、データ分析に最適です。

以下に示すのは、相関ヒートマップの古典的な表現です。

ソース

PythonでSeabornヒートマップを作成する

Seabornは、データの視覚化に使用されるPythonライブラリであり、matplotlibに基づいています。 これは、統計グラフ形式でデータを表示するための有益で視覚的に魅力的な媒体を提供します。 seabornを使用して作成されたヒートマップでは、カラーパレットが関連データのバリエーションを表します。 初心者でデータサイエンスの専門知識を習得したい場合は、データサイエンスコースをご覧ください。

Pythonでヒートマップを作成する手順

次の手順は、Pythonで簡単なヒートマップを作成する方法の大まかな概要を示しています。

  • 必要なすべてのパッケージをインポートします
  • データを保存したファイルをインポートします
  • ヒートマップをプロットする
  • matplotlibを使用してヒートマップを表示する

それでは、seabornをmatplotlibとpandasとともに使用して、ヒートマップを生成する方法を紹介しましょう。

この例では、30の製薬会社の株式についてPythonで海のヒートマップを作成します。 結果のヒートマップには、銘柄記号とそれぞれの1日のパーセンテージ価格変化が表示されます。 まず、製薬会社の株式の市場データを収集し、CSVファイルの最初の2列に、銘柄記号とそれに対応する価格変動率で構成されるCSV(カンマ区切り値)ファイルを作成します。

30の製薬会社と協力しているため、6行5列のヒートマップマトリックスを作成します。 さらに、ヒートマップに価格の変化率を降順で表示する必要があります。 そこで、CSVファイルのストックを降順に並べ、さらに2つの列を追加して、海上ヒートマップのX軸とY軸上の各ストックの位置を示します。

ステップ1: Pythonパッケージをインポートします。

ソース

ステップ2:データセットをロードします。

データセットは、pandasのread_csv関数を使用して読み取られます。 さらに、printステートメントを使用して最初の10行を視覚化します。

ソース

ステップ3: PythonNumpy配列を作成します。

6 x 5のマトリックスを念頭に置いて、「シンボル」列と「変更」列のn次元配列を作成します。

ソース

ステップ4: Pythonでピボットを作成します。

指定されたデータフレームオブジェクト「df」から、ピボット関数は新しい派生テーブルを作成します。 ピボット関数は、インデックス、列、値の3つの引数を取ります。 新しいテーブルのセルの値は、「変更」列から取得されます。

ソース

ステップ5:ヒートマップに注釈を付けるためのアレイを作成します。

次のステップは、海のヒートマップに注釈を付けるための配列を作成することです。 このために、配列「percentage」と「symbol」でflattenメソッドを呼び出して、リストのPythonリストを1行でフラット化します。 さらに、zip関数はPythonでリストを圧縮します。 Python forループを実行し、format関数を使用して、必要に応じて銘柄記号と株価変動率の値をフォーマットします。

ソース

ステップ6: matplotlibフィギュアを作成し、プロットを定義します。

このステップでは、空のmatplotlibプロットを作成し、フィギュアのサイズを定義します。 さらに、プロットのタイトルを追加し、タイトルのフォントサイズを設定し、set_positionメソッドを使用してプロットからの距離を固定します。 最後に、株式シンボルとそれに対応する1日のパーセンテージ価格変化のみを表示したいので、X軸とY軸の目盛りを非表示にし、プロットから軸を削除します。

ソース

ステップ7:ヒートマップを作成する

最後のステップでは、seabornPythonパッケージのヒートマップ関数を使用してヒートマップを作成します。 Seaborn Pythonパッケージのヒートマップ関数は、次の一連の引数を取ります。

  • データ

これは、配列に強制変換できる2次元データセットです。 Pandas DataFrameを指定すると、行と列はインデックス/列情報を使用してラベル付けされます。

  • アノ

これはデータと同じ形状の配列であり、ヒートマップに注釈を付けます。

  • cmap:

これはmatplotlibオブジェクトまたはカラーマップ名であり、データ値を色空間にマップします。

  • Fmt

注釈を追加するときに使用される文字列フォーマットコードです。

  • 線幅:

各セルを分割する線の幅を設定します。

ソース

選択した製薬会社の海上ヒートマップの最終出力は次のようになります。

ソース

今後の方向性:データサイエンスにおけるupGradのプロフェッショナル認定プログラムでPythonを学ぶ

ビジネス意思決定のためのデータサイエンスプロフェッショナル証明書プログラムは、データサイエンスと機械学習の概念に焦点を当て、実際のビジネスアプリケーションに特に重点を置いた、厳密な8か月のオンラインプログラムです。 このプログラムは、戦略的でデータ主導のビジネス上の意思決定を支援するデータサイエンスの実践的な知識とスキルを身に付けたいと考えているマネージャーや専門家向けに設計されています。

コースのハイライトは次のとおりです。

  • IIMカリカットからの名誉ある認識
  • 200時間以上のコンテンツ
  • 3つの業界プロジェクトと絶頂
  • 20以上のライブ学習セッション
  • 5回以上のエキスパートコーチングセッション
  • Excel、Tableau、Python、R、およびPowerBIのカバレッジ
  • 業界のメンターと1対1
  • 360度のキャリアサポート
  • トップ企業との雇用支援

upGradにサインアップして、すべてのデータ視覚化のニーズに合わせてPythonヒートマップスキルを磨きましょう!

結論

統計家とデータアナリストは、多数のツールと手法を使用して、照合されたデータを並べ替え、わかりやすくユーザーフレンドリーな方法で表示します。 この点で、データ視覚化手法としてのヒートマップは、すべてのセクターの企業がデータをよりよく視覚化して理解するのに役立ちました。

要約すると、ヒートマップは広く使用されており、現在でも選択されている統計および分析ツールの1つとして使用されています。 これは、視覚的に魅力的でアクセス可能なデータ表示モードを提供し、容易に理解でき、用途が広く、適応性があり、すべての値を1つのフレームに表示することで、従来のデータ分析および解釈プロセスの面倒な手順を不要にするためです。

ヒートマップをどのようにプロットしますか?

ヒートマップは、グループ化されたデータを2次元のグラフ形式でプロットするための標準的な方法です。 ヒートマップのプロットの背後にある基本的な考え方は、グラフが正方形または長方形に分割され、それぞれがデータテーブルの1つのセル、1つのデータセット、および1つの行を表すことです。 正方形または長方形は、テーブル内のそのセルの値に応じて色分けされています。

ヒートマップは相関関係を示していますか?

相関ヒートマップは、さまざまな変数間の相関を表す相関行列のグラフィック表現です。 相関ヒートマップは、相関性の高い変数を簡単に識別できるため、適切に使用すると非常に効果的です。

なぜseabornがPythonで使用されるのですか?

Seabornは、matplotlibに基づくオープンソースのPythonライブラリです。 探索的データ分析と視覚化に使用され、データフレームとPandasライブラリを簡単に操作できます。 さらに、seabornを使用して作成されたグラフは簡単にカスタマイズできます。