如何用pandas更快地進行數據可視化?

2021-01-07 CDA數據分析師

作者:劉早起

來源:早起Python(公眾號)

如果你經常使用Python進行數據分析,那麼對於pandas一定不會陌生,但是Pandas除了在數據處理上大放異彩,隨著版本的不斷更新,Pandas的繪圖功能在某些情況下甚至要比matplotlib更加適用,本文就將介紹如何用Pandas更快的進行數據可視化!

基本使用,學會製作套路

首先我們使用pandas隨機生成示例數據

import pandas as pddf= pd.DataFrame(np.random.rand(8, 4), columns=['A','B','C','D'])

現在只要一行代碼,即可完成柱狀圖的繪製df.plot.bar()

同樣是這個圖,如果使用Matplotlib製作的話

import matplotlib.pyplot as pltx = np.array(df.index.tolist())y1 = df.A.tolist()y2 = df.B.tolist()y3 = df.C.tolist()y4 = df.D.tolist()y5 = df.E.tolist()total_width, n = 0.8, 5width = total_width / nx = x - (total_width - width) / 2plt.bar(x, y1, width=width, label='A')plt.bar(x + width, y2, width=width, label='B')plt.bar(x + 2*width, y3, width=width, label='C')plt.bar(x + 3*width, y4, width=width, label='D')plt.bar(x + 4*width, y5, width=width, label='E')plt.legend()plt.show()

可以看到,雖然結果差不多,不過代碼量瞬間就上去了,如果你是Matplotlib高手可能會用更簡潔的代碼製作,但一定沒有pandas一行代碼來的方便!

更多圖表,一覽Pandas強大

下面我們繼續看看,一行pandas代碼能做出哪些常用的圖!

堆疊柱狀圖,添加一個參數即可df.plot.barh(stacked=True)

堆疊面積圖df.plot.area(stacked=True,alpha = 0.9)

密度估計圖df.plot.kde()

直方圖的話,我們需要換一組數據

df = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000), 'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])

下面,兩行代碼就能製作堆疊/不堆疊的直方圖

df.plot.hist(stacked=True, bins=20)df.plot.hist(alpha=0.5)

當然包括什麼箱線圖、散點圖等常用圖形,都可以通過一行代碼輕鬆搞定

df.plot.box()df['value'].plot()df.plot.scatter()data.plot.hexbin(x='A',y='B')

製作子圖可以嗎?只需要設置subplots=True就行了,子圖位置、大小調整方式和Matplotlib設置一樣!

data.plot(subplots=True,layout=(3, 2), figsize=(15, 8));

更多的圖表,本文就不再一一展示,從官方文檔中可以看到(我的版本是0.23.4),Pandas一共支持14種常見圖表的直接繪製,感興趣的讀者可以進一步閱讀官方文檔!

其實對圖片敏感的讀者可以發現,這不就是基於Matplotlib做出來的嗎?所以它支持像調整Matplotlib圖表一樣,在作圖時修改一些參數來控制圖片的大小、圖例、顏色、位置等因素。

修改主題,解鎖酷炫樣式

最後,如果你覺得默認生成的圖表不夠好看(我是這麼覺得),而它又是基於Matoplotlib製作的,所以我們可以使用同樣套著Matplotlib殼的Seaborn調色板,從而調整圖片主題。

還是上面的數據,下面讓我們換個主題重新繪製

import seaborn as snssns.set_palette("pastel", 8)

import seaborn as snssns.set_palette("Blues_r", 8)

import seaborn as snssns.set_palette("magma", 8)

上面是我常用的幾種配色,更多的顏色搭配你可以在seaborn相關文檔中找到並使用!

以上就是關於如何在使用Python更快速的對數據進行可視化,我們可以發現,在很多情況下,使用Pandas直接進行繪圖會顯得更加高效便捷!

但本文的目的並不是讓你徹底放棄Matplotlib,在使用pandas繪圖時很多參數設置都需要參考Matplotlib,所以我們應該在點亮這項技能後,能根數據和場景的不同,選擇一個最合適的工具來完成可視化!

相關焦點

  • 5個可以幫助pandas進行數據預處理的可視化圖表
    在現實生活中,從多個來源收集到的大多數時間數據都有空白值、打字錯誤和其他異常。在進行任何數據分析之前,清除數據是至關重要的。 在本文中,我將討論五個強大的數據可視化選項,它們可以立即提供數據特徵的感覺。即使在正式建模或假設測試任務之前,執行EDA就可以傳達大量關於數據和特徵之間關係的信息。
  • pandas數據可視化教學,一招即懂
    數據可視化可以讓我們很直觀的發現數據中隱藏的規律,察覺到變量之間的互動關係,可以幫助我們更好的給他人解釋現象,做到一圖勝千文的說明效果。
  • Pandas數據可視化原來也這麼厲害
    >一、可視化概述在Python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。比如這個圖,就非常厲害:畫圖神器pyecharts-旭日圖Pandas:而今天要講的是Pandas的可視化,Pandas主要作為數據分析的庫,雖然沒有上述三個庫那個強大,但是勝在方便,在數據分析的過程中,只要一行代碼就能實現。並且圖形也非常漂亮。
  • 用pandas進行簡單的數據預處理
    首先看這樣的數據。這是kaggle上的關於員工離職的數據,現在要根據滿意度,工作項目, 薪水等指標判斷一個員工是否會離職。在進行機器學習之前,我們首先要進行數據的清理及預處理。數據下載https://github.com/ardendertat/Applied-Deep-Learning-with-Keras/blob/master/data/HR.csv1、查看統計數據csv文件讀取拿到數據以後,一般都要先看看數據長啥樣,有多大,都有什麼特徵,用pandas
  • 【Python基礎】Pandas數據可視化原來也這麼厲害
    一、可視化概述在Python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。比如這個圖,就非常厲害:畫圖神器pyecharts-旭日圖Pandas:而今天要講的是Pandas的可視化,Pandas主要作為數據分析的庫,雖然沒有上述三個庫那個強大,但是勝在方便,在數據分析的過程中,只要一行代碼就能實現。並且圖形也非常漂亮。
  • 想用Python做數據可視化?先邁過這個「坎」
    用過python的人都會面臨一個問題,尤其是初學者:我應該選哪個來實現數據可視化? 以下就是將要用來創建繪製數據的示例: ·Pandas ·Seaborn ·Ggplot 在示例中,我將使用pandas進行數據處理並使用它來完成可視化的效果。
  • pandas數據可視化原來也這麼厲害
    作者:小伍哥 來源:AI入門學習(公眾號)在python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。seaborn:是建構於matplotlib基礎上,能滿足絕大多數可視化需求,更特殊的需求還是需要學習matplotlib。pyecharts:上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。並且種類也比較豐富。
  • 教你用Pandas和Plotly進行數據可視化
    數據太多難道不會讓人感到不知所措嗎?講真的,數據可視化了解一下。數據可視化是將原始數據轉換成可視化的圖形和圖表,從而更易於理解,它的主要目的是更快地進行研究和數據分析,並有效傳達趨勢和模式。相較於冗長的純文本,人腦能夠更好地理解具有視覺吸引力的數據。
  • 如何用pandas對excel中的文本數據進行操作
    excel進行數據的操作最便捷的庫是pandas,但是如何使用pandas對excel中的文本進行清洗,這是一個很技巧性的工作。
  • 使用Pandas進行數據處理
    引言我們將深入講解pandas庫在數據處理階段的功能數據處理又可以細分為三個階段,我們將通過例子詳細講解各個階段都會涉及哪些操作,以及如何充分利用pandas庫提供的函數來完成這些操作。數據處理的三個階段為:數據準備、數據轉換和數據聚合。數據準備開始處理數據工作之前,需要先行準備好數據,把數據組裝成便於用pandas庫的各種工具處理的數據結構。
  • 【Python教程】用Python進行數據可視化
    在本文中,我將介紹如何開始使用Python和matplotlib、seaborn兩個庫對數據進行可視化。下面我們就用上面這個簡單的數據集作為例子,展示用 Python 做出9種可視化效果,並附有相關代碼。
  • 如何使用Pandas-Profiling進行探索性數據分析
    當開始一個新的機器學習項目時,獲得機器學習數據集之後的第一步就是要了解它。我們可以通過執行探索性數據分析(EDA)來實現這一點。這包括找出每個變量的數據類型、目標變量的分布、每個預測變量的不同值的數量、數據集中是否有重複值或缺失值等。進行EDA探索機器學習數據集的過程往往是非常耗時的。什麼是Pandas-Profiling?
  • 想讓pandas運行更快嗎?那就用Modin吧
    Pandas 是數據科學領域的工作者都熟知的程序庫。它提供高性能、易於使用的數據結構和數據分析工具。但是,當處理過於龐大的數據時,單個內核上運行的 Pandas 就會變得力不從心,人們不得不求助於不同的分布式系統來提高性能。然而,為了提高性能而做的這種權衡會帶來陡峭的學習曲線。本質上,用戶只是想讓 Pandas 運行得更快,而不是為了特定的硬體設置而優化其工作流。
  • Pandas可視化綜合指南:手把手從零教你繪製數據圖表
    曉查 編譯整理量子位 出品 | 公眾號 QbitAI數據可視化本來是一個非常複雜的過程,但隨著Pandas數據幀plot()函數的出現,使得創建可視化圖形變得很容易。在數據幀上進行操作的plot()函數只是matplotlib中plt.plot()函數的一個簡單包裝 ,可以幫助你在繪圖過程中省去那些長長的matplotlib代碼。
  • 如何系統地學習Python 中 matplotlib, numpy, scipy, pandas?
    總的來說,如果你想理解和處理手頭的數據,就用 Pandas;如果你想執行一些複雜的計算,就用 Numpy 和 SciPy;如果你想將數據可視化,就用 Matplotlib。這 4 個庫在 Python 生態體系中的地位也不一樣,相對來說 Numpy 最簡單,處於最底層。
  • 如何使用Python 和 Pandas讀寫JSON文件
    這樣我們就可以使用Pandas的內置方法來操作數據、進行匯總統計和數據可視化。注意,我們將在本文後面簡要討論這個問題。Pandas讀取 Json示例:在下一個示例中,我們將使用Pandas的 read_json方法來讀取我們前面寫入的JSON文件(即data.json)。這是相當簡單的,我們先將pandas導入為pd:
  • Python數學建模技巧之pandas數據處理
    最常見的庫有進行矩陣運算的Numpy、進行數據處理的pandas、進行科學計算的Scipy、進行圖形繪製及科學可視化的matplotlib、進行符號計算的Sympy以及方便進行機器學習任務的Sklearn。由於今年美賽官方公告中稱,將會提前在賽題公布之前就提供下載C題數據集的方式。
  • Python 與金融數據|股票數據的獲取與可視化
    pandaspandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
  • 思考python數據分析工具pandas-1簡介
    無論是分析大量數據、呈現數據,還是對數據進行歸一化處理並重新存儲,pandas都有廣泛的功能支持大數據需求。雖然pandas並不是目前性能最強的選擇,但它是用Python編寫的,所以對於初學者來說,它很容易學習,編寫速度快,而且有豐富的API。關於pandaspandas 是用 Python 處理大數據集的常用包。
  • Pandas的數據過濾
    在本文中,我們將介紹從Pandas數據框中選擇數據子集的最常見操作:另外,我們將提供多個編碼示例!數據集在本文中,我們使用一個小數據集進行學習。'># 可視化數據框numeric_inputs另外,它更快!