如何使用 Seaborn 創建 Python 熱圖? 【綜合解釋】

已發表: 2021-10-06

大數據時代的企業每天都被大量數據所淹沒。 然而,重要的不是相關數據的絕對數量,而是如何處理這些數據。 因此,需要對大數據進行分析,以獲得最終決定更好決策並影響戰略業務舉措的洞察力。

儘管如此,僅僅分析數據並將其留在那裡是不夠的。 下一步是數據可視化,以可視化格式呈現數據,以查看和理解數據中的模式、趨勢和異常值。 Python 中的熱圖是眾多數據可視化技術之一。

數據可視化是指數據的圖形表示,可能包括圖形、圖表、地圖和其他視覺元素。 它對於分析大量信息和做出數據驅動的決策至關重要。

本文將引導您了解 Python 中熱圖的概念以及如何使用 Seaborn 創建熱圖。

目錄

什麼是熱圖?

Python 中的熱圖是一種數據可視化技術,其中顏色表示感興趣的值如何隨其他兩個變量的值變化。 它是數據的二維圖形表示,其值以顏色編碼,從而提供了一種簡化、富有洞察力和視覺吸引力的信息視圖。 下圖是熱圖的簡化表示。

通常,熱圖是一個數據表,其中的行和列代表不同的類別集。 表中的每個單元格都包含一個邏輯值或數值,該值根據給定的調色板確定單元格的顏色。 因此,熱圖使用顏色來強調數據值之間的關係,否則如果使用原始數字排列在常規表格中,則很難理解這些關係。

熱圖在多個真實場景中都有應用。 例如,考慮下面的熱圖。 這是一個股票指數熱圖,可以識別股票市場的主要趨勢。 熱圖使用冷到熱的配色方案來顯示哪些股票看跌,哪些股票看漲。 前者用紅色表示,而後者用綠色表示。

資源

熱圖可用於其他幾個領域。 一些示例包括網站熱圖、地理熱圖和運動熱圖。 例如,您可以使用熱圖來了解一組城市的降雨量如何隨一年中的月份而變化。 熱圖對於研究人類行為也非常方便。

相關熱圖

相關熱圖是一個二維矩陣,顯示兩個不同變量之間的相關性。 表格的行顯示第一個變量的值,而第二個變量顯示為列。 與常規熱圖一樣,相關熱圖也帶有用於讀取和理解數據的顏色條。

使用的配色方案是這樣的,配色方案的一端代表低價值數據點,另一端代表高價值數據點。 因此,相關熱圖是數據分析的理想選擇,因為它們以易於閱讀的形式呈現模式,同時還突出了數據的變化。

下面給出的是相關熱圖的經典表示。

資源

在 Python 中創建 Seaborn 熱圖

Seaborn 是一個用於數據可視化的 Python 庫,基於 matplotlib。 它提供了一種信息豐富且具有視覺吸引力的媒介,以統計圖形格式呈現數據。 在使用 seaborn 創建的熱圖中,調色板描繪了相關數據的變化。 如果您是初學者並且想獲得數據科學方面的專業知識,請查看我們的數據科學課程。

在 Python 中創建熱圖的步驟

以下步驟大致介紹瞭如何在 Python 中創建簡單的熱圖:

  • 導入所有需要的包
  • 導入您存儲數據的文件
  • 繪製熱圖
  • 使用 matplotlib 顯示熱圖

現在,讓我們向您展示如何使用 seaborn 以及 matplotlib 和 pandas 來生成熱圖。

在這個例子中,我們將用 Python 為 30 家製藥公司的股票構建一個 seaborn 熱圖。 生成的熱圖將顯示股票代碼及其各自的單日百分比價格變化。 我們將首先收集醫藥股的市場數據,並在該 CSV 文件的前兩列中創建一個包含股票代碼及其相應價格變化百分比的 CSV(逗號分隔值)文件。

由於我們與 30 家製藥公司合作,我們將構建一個包含 6 行和 5 列的熱圖矩陣。 此外,我們希望熱圖以降序描述價格變化的百分比。 因此,我們將 CSV 文件中的股票按降序排列,並添加兩列以指示每隻股票在 seaborn 熱圖的 X 和 Y 軸上的位置。

第 1 步:導入 Python 包。

資源

第 2 步:加載數據集。

使用 pandas 的 read_csv 函數讀取數據集。 此外,我們使用 print 語句來可視化前 10 行。

資源

第 3 步:創建 Python Numpy 數組。

牢記 6 x 5 矩陣,我們將為“符號”和“更改”列創建一個 n 維數組。

資源

第 4 步:在 Python 中創建數據透視表。

從給定的數據框對象“df”,數據透視函數創建一個新的派生表。 pivot 函數接受三個參數——索引、列和值。 新表的單元格的值取自“更改”列。

資源

第 5 步:創建一個數組來註釋熱圖。

下一步是創建一個數組來註釋 seaborn 熱圖。 為此,我們將調用數組“percentage”和“symbol”上的 flatten 方法來將 Python 列表扁平化成一行。 此外, zip 函數在 Python 中壓縮列表。 我們將運行 Python for 循環並根據需要使用 format 函數來格式化股票代碼和價格變化百分比值。

資源

第 6 步:創建 matplotlib 圖形並定義繪圖。

在這一步中,我們將創建一個空的 matplotlib 圖並定義圖形的大小。 此外,我們將添加繪圖的標題,設置標題的字體大小,並使用 set_position 方法固定其與繪圖的距離。 最後,由於我們只想顯示股票代碼及其對應的單日價格變化百分比,我們將隱藏 X 和 Y 軸的刻度並從圖中移除軸。

資源

第 7 步:創建熱圖

在最後一步中,我們將使用 seaborn Python 包中的 heatmap 函數來創建熱圖。 seaborn Python 包的 heatmap 函數採用以下參數集:

  • 資料

它是一個二維數據集,可以強制轉換為數組。 給定一個 Pandas DataFrame,行和列將使用索引/列信息進行標記。

  • 註釋

它是一個與數據形狀相同的數組,並對熱圖進行註釋。

  • 地圖:

它是一個 matplotlib 對像或顏色圖名稱,並將數據值映射到顏色空間。

  • 格式

它是添加註釋時使用的字符串格式化代碼。

  • 線寬:

它設置劃分每個單元格的線的寬度。

資源

所選製藥公司的 seaborn 熱圖的最終輸出將如下所示:

資源

前進之路:通過 upGrad 的數據科學專業證書課程學習 Python

商業決策數據科學專業證書課程一個為期 8 個月的嚴格在線課程,專注於數據科學和機器學習概念,特別強調其實際業務應用。 該計劃專為希望發展數據科學的實用知識和技能的經理和工作專業人士而設計,以幫助他們做出戰略性和數據驅動的業務決策。

以下是一些課程亮點:

  • IIM Kozhikode 享有盛譽
  • 200 多個小時的內容
  • 3 個行業項目和一個頂點
  • 20+現場學習課程
  • 5+ 專家輔導課程
  • Excel、Tableau、Python、R 和 Power BI 的覆蓋範圍
  • 與行業導師一對一
  • 360 度的職業支持
  • 頂級公司的工作協助

註冊 upGrad並磨練您的 Python 熱圖技能,以滿足您所有的數據可視化需求!

結論

統計學家和數據分析師使用大量工具和技術對整理的數據進行排序,並以易於理解和用戶友好的方式呈現它們。 在這方面,熱圖作為一種數據可視化技術已經幫助各行各業的企業更好地可視化和理解數據。

總而言之,熱圖已被廣泛使用,並且仍然被用作首選的統計和分析工具之一。 這是因為它們提供了一種視覺上吸引人且易於訪問的數據呈現模式,易於理解、通用、適應性強,並且通過在單個框架中呈現所有值來消除傳統數據分析和解釋過程的繁瑣步驟。

你如何繪製熱圖?

熱圖是以二維圖形格式繪製分組數據的標準方法。 繪製熱圖的基本思想是將圖表劃分為正方形或矩形,每個矩形代表數據表上的一個單元格、一個數據集和一行。 正方形或矩形根據表格中該單元格的值進行顏色編碼。

熱圖是否顯示相關性?

相關熱圖是描述不同變量之間相關性的相關矩陣的圖形表示。 如果使用得當,相關熱圖非常有效,因為可以輕鬆識別高度相關的變量。

為什麼在 Python 中使用 seaborn?

Seaborn 是一個基於 matplotlib 的開源 Python 庫。 它用於探索性數據分析和可視化,並且可以輕鬆地與數據框和 Pandas 庫一起使用。 此外,使用 seaborn 創建的圖表很容易定制。