初學者的 Python 數據可視化

已發表: 2021-06-07

數據可視化在分析數據和使數據更清晰、更容易被每個人理解方面發揮著重要作用。 使用 Python 等數據可視化工具對信息進行可視化表示有助於識別您可能從未發現的趨勢、模式和相關性,或者正如美國計算機科學家 Ben Schneiderman 所說:“可視化為您提供您不了解的問題的答案有''。

在這篇博客中,我們將討論 Python 中的數據可視化是什麼,如何使用 Python 的可視化庫在 Python 中可視化數據,並為您提供一些 Python 可視化示例,以幫助您更好地了解數據可視化的強大功能以及 Python 如何幫助您利用它。

什麼是 Python 中的可視化?

Python 是一種通用編程語言,包括高級數據結構、動態類型和動態綁定,以及各種其他特性,使其對複雜應用程序的開發有價值和有益。

在過去的二十年裡,隨著數據可視化的重要性日益增加,Python 不僅僅是一種編程語言。 它已發展成為數據科學最常用的編程語言,為開發人員提供了無數選項來可視化數據並獲得僅靠原始數據無法提供的洞察力。

簡單地說,使用 Python 創建數據可視化將幫助您的用戶在幾毫秒內獲得數據洞察力,而試圖分析和理解以表格格式表示的無格式數據的大型數據集則需要幾秒鐘甚至幾分鐘。 更好的是,使用 Python 中的數據可視化工具可以讓您添加顏色、趨勢線、標記、註釋和更多視覺提示,幫助您的可視化查看者立即了解他們的數據故事。

嘗試彈弓

Python 可視化庫

有許多用於 Python 的開源和商業可視化庫,提供商業圖表、科學圖表、財務圖表、地理空間映射等等。 作為開發人員,您可以輕鬆地將這些庫導入到您的 Python 項目中,並且根據您擁有的數據類型,您可以在幾行代碼中呈現可視化。

這些是 5 個最流行的 Python 數據可視化庫:

  • Matplotlib – Matplotlib 是 Python 的第一個數據可視化庫,並且是構建所有其他 Python 數據可視化庫的基礎庫。 它是最常用的,是一個 2D 繪圖庫。 Matplotlib 可以生成繪圖、條形圖、餅圖、直方圖、功率譜、散點圖、誤差圖和其他類型的數據可視化。 該庫允許對可視化進行絕對控制。 它非常強大,但也非常複雜——你可以創建任何東西,但要獲得看起來合理的圖表需要大量的工作和努力。
  • Seaborn – 基於 Matplotlib,Seaborn 以創建最具視覺吸引力的 Python 數據可視化而聞名。 與 Matplotlib 相比,該庫提供了一個高級接口,用於繪製有吸引力且信息豐富的統計圖形,所需的代碼更少。
  • ggplot – 這個庫是 Python 用 R 編程語言實現的 ggplot2 數據可視化。 ggplot 與 Pandas 庫緊密集成,並在被告知如何將變量映射到美學以及使用哪些原語之後展示了機器學習的最佳形式之一。 它可用於生成簡單的圖形表示,但不能用於創建高度定制的圖形。
  • Plotly – Plotly 允許創建數據可視化和分析,只需要很少的代碼行,並且具有等高線圖,這對於所有其他庫來說非常罕見。 它可以生成許多可視化,例如散點圖、折線圖、條形圖、誤差線、子圖、直方圖、箱線圖等。此外,Plotly 具有懸停工具功能,可以檢測大量數據點中的異常值或異常。
  • Pandas – 雖然不是可視化庫,但 Pandas 是一個開源高性能庫,可提供快速、靈活的數據操作和數據轉換功能,用於 Python 可視化庫。 使用 Pandas 高級 API 進行數據處理意味著您可以編寫更少的 Python 代碼來處理數據,從而獲得與使用冗長而復雜的 Python 代碼相同的結果。

Python 交互式可視化

如果您正在尋找 Python 交互式可視化工具,那麼您應該考慮 Bokeh。

Bokeh 是一個交互式可視化庫,它使用 HTML 和 JavaScript 呈現其圖形。 但是,Bokeh 提供了一個 Python API 來在 D3.js 中創建交互式可視化,無論是否需要編寫任何 JavaScript 代碼。 它適用於大型或流式數據資產,可用於開發基於 Web 的交互式繪圖、應用程序和儀表板。 Bokeh 是一個非常強大的工具,用於探索和理解您的數據並為項目或報告創建吸引人的自定義圖表。 在 Python 數據可視化空間中,Bokeh 是構建交互式可視化的第一選擇。

該庫還與 PyData 工具密切合作,它允許使用標準 Pandas 和 NumPy 對象進行繪圖。

Python 時間序列可視化

時間序列數據是按時間順序列出的一系列數據點。 它是一系列連續的等間隔時間點,由分析方法組成,以提取有意義的見解和其他有用的數據特徵。 時間序列類型的數據在許多行業都很重要,例如製藥、零售、運輸、金融,甚至社交媒體和電子郵件營銷公司,以及許多其他行業。

以下是時間序列數據的所有示例:

  • 醫學:心率監測、體重追踪、血壓追踪等。
  • 零售: 24 小時或 48 小時內每小時售出的商品數量
  • 交通:一周或一個月內出行的旅客人數
  • 經濟學:國內生產總值、消費者價格指數等。

折線圖是最常用的時間序列數據可視化方式,通常圖表顯示允許交互,例如放大以獲取更詳細的基於時間的數據,或縮小以獲取更高級的數據視圖。

Python 可視化示例

數據可視化和儀表板工具包括多種圖表類型。 當您需要超越提供的圖表類型時,Python 和上述 Python 圖形庫等工具可以幫助構建有用且信息豐富的可視化。 例如,大多數產品不包括高級可視化,如桑基圖、熱圖或蒸汽圖。 Slingshot 使在 Python 中添加這些高級可視化變得容易。

默認情況下,Slingshot 中的 Python 可視化在您的腳本編輯器中包含以下庫:

 #import matplotlib #import matplotlib.pyplot as plt #import numpy as np #import pandas as pd

默認情況下,腳本編輯器中默認可用的字段是您從可視化編輯器中的字段選擇器中選擇的字段:

 #data['Territory'] #data['CampaignID'] #data['Sum of Spend']

您正在創建可視化,就像任何其他內置圖表一樣。 唯一不同的是,這個是用一些 Python 代碼創建的:

 campaignid = np.unique(np.array(data['CampaignID'])) territory = np.unique(np.array(data['Territory'])) spend = np.array(data['Sum of Spend']).reshape((7, 5)) fig, ax = plt.subplots(figsize=(5.5, 6.5)) im = ax.imshow(spend) # Show all ticks... ax.set_xticks(np.arange(len(territory))) ax.set_yticks(np.arange(len(campaignid))) # ... and label them with the respective list entries ax.set_xticklabels(territory) ax.set_yticklabels(campaignid) # Loop over data dimensions and create text annotations. for i in range(len(campaignid)): for j in range(len(territory)): text = ax.text(j, i, spend[i, j], ha="center", va="center", color="w") ax.set_title("Campaign Spend (dollars)") fig.tight_layout()

生成漂亮的熱圖可視化,您可以輕鬆地與團隊的其他成員分享!

Python Data Visualization for Beginners

最後的想法

隨著企業繼續依賴數據來做出更好的基於事實的決策,數據可視化的重要性將越來越大。 由於與傳統的電子表格和過時的數據報告相比,圖表和圖形等可視化技術在理解數據方面更有效,因此使用 Python 等工具創建數據可視化是每個跨職能團隊的必要條件。

然而,即使數據和洞察力很重要,僅僅擁有它們是不夠的。 要釋放數據的拉動潛力,您需要將數據轉化為適合您日常運營工作流程的操作。 您可以使用 Slingshot 從洞察力無縫過渡到行動。

使用 Slingshot,您可以分析數據、創建精美的數據可視化、與組織內的每個人協作並輕鬆管理您的所有項目,所有這些都來自同一個平台。

有興趣了解更多信息嗎? 免費試用 Slingshot,看看它如何幫助您充分利用可操作的見解,同時讓您的團隊更輕鬆地利用數據、培養數據驅動的文化並提高生產力。