原來Pandas也是一個Python可視化神器

2022-01-10 python自留地


來源:大鄧和他的Python

數據可視化可以讓我們很直觀的發現數據中隱藏的規律,察覺到變量之間的互動關係,可以幫助我們更好的給他人解釋現象,做到一圖勝千文的說明效果。

常見的數據可視化庫有:

matplotlib 是最常見的2維庫,可以算作可視化的必備技能庫,由於matplotlib是比較底層的庫,api很多,代碼學起來不太容易。

seaborn 是建構於matplotlib基礎上,能滿足絕大多數可視化需求。更特殊的需求還是需要學習matplotlib

pyecharts 上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。

但是在數據科學中,幾乎都離不開pandas數據分析庫,而pandas可以做。

在本文我們可以學到用pandas做

導入數據

繪製最簡單的圖plot()

多個y的繪製圖

折線圖、條形圖、餅形圖和散點圖繪製

統計信息繪圖

箱型圖

軸坐標刻度

plot()更多精細化參數

可視化結果輸出保存

準備工作

如果你之前沒有學過pandas和matpltolib,我們先安裝好這幾個庫

!pip3 install numpy!pip3 install pandas!pip3 install matplotlib

已經安裝好,現在我們導入這幾個要用到的庫。使用的是倫敦天氣數據,一開始我們只有12個月的小數據作為例子

#jupyter notebook中需要加這行代碼

%matplotlib inline

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

#讀取天氣數據

df = pd.read_csv('data/london2018.csv')

df

plot最簡單的圖

選擇Month作為橫坐標,Tmax作為縱坐標,繪圖。

大家注意下面兩種寫法

#寫法1df.plot(x='Month', y='Tmax')plt.show()

橫坐標軸參數x傳入的是df中的列名Month

縱坐標軸參數y傳入的是df中的列名Tmax

折線圖

上面的圖就是折線圖,折線圖語法有三種

df.plot(x='Month', y='Tmax')

df.plot(x='Month', y='Tmax', kind='line')

df.plot.line(x='Month', y='Tmax')

df.plot.line(x='Month', y='Tmax')plt.show()

#grid繪製格線df.plot(x='Month', y='Tmax', kind='line', grid=True)plt.show()

多個y值

上面的折線圖中只有一條線, 如何將多個y繪製到一個圖中

比如Tmax, Tmin

df.plot(x='Month', y=['Tmax', 'Tmin'])plt.show()

條形圖

df.plot(x='Month',         y='Rain',         kind='bar')#同樣還可以這樣畫#df.plot.bar(x='Month', y='Rain')plt.show()

水平條形圖

bar環衛barh,就可以將條形圖變為水平條形圖

df.plot(x='Month',         y='Rain',         kind='barh')#同樣還可以這樣畫#df.plot.bar(x='Month', y='Rain')plt.show()

多個變量的條形圖

df.plot(kind='bar',        x = 'Month',       y=['Tmax', 'Tmin'])plt.show()

散點圖

df.plot(kind='scatter',        x = 'Month',        y = 'Sun')plt.show()

餅形圖

df.plot(kind='pie', y='Sun')plt.show()

上圖繪製有兩個小問題:

legend圖例不應該顯示

月份的顯示用數字不太正規

df.index = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']df.plot(kind='pie', y = 'Sun', legend=False)plt.show()

更多數據

一開頭的數據只有12條記錄(12個月)的數據,現在我們用更大的倫敦天氣數據

import pandas as pd

df2 = pd.read_csv('data/londonweather.csv')

df2.head()

df2.Rain.describe()

count    748.000000mean      50.408957std       29.721493min        0.30000025%       27.80000050%       46.10000075%       68.800000max      174.800000Name: Rain, dtype: float64

上面一共有748條記錄, 即62年的記錄。

箱型圖

df2.plot.box(y='Rain')#df2.plot(y='Rain', kind='box')plt.show()

直方圖

df2.plot(y='Rain', kind='hist')#df2.plot.hist(y='Rain')plt.show()

縱坐標的刻度可以通過bins設置

df2.plot(y='Rain', kind='hist', bins=[0,25,50,75,100,125,150,175, 200])#df2.plot.hist(y='Rain')plt.show()

多圖並存

df.plot(kind='line',         y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4個變量可視化         subplots=True,   #多子圖並存         layout=(2, 2),   #子圖排列2行2列         figsize=(20, 10)) #圖布的尺寸plt.show()

df.plot(kind='bar',         y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4個變量可視化         subplots=True,   #多子圖並存         layout=(2, 2),   #子圖排列2行2列         figsize=(20, 10)) #圖布的尺寸plt.show()

加標題

給可視化起個標題

df.plot(kind='bar',         y=['Tmax', 'Tmin'], #2個變量可視化         subplots=True,   #多子圖並存         layout=(1, 2),   #子圖排列1行2列         figsize=(20, 5),#圖布的尺寸         title='The Weather of London')  #標題plt.show()

保存結果

可視化的結果可以存儲為圖片文件

df.plot(kind='pie', y='Rain', legend=False, figsize=(10, 5), title='Pie of Weather in London')plt.savefig('img/pie.png')plt.show()

df.plot更多參數

df.plot(x, y, kind, figsize, title, grid, legend, style)

x 只有dataframe對象時,x可用。橫坐標

y 同上,縱坐標變量

kind 可視化圖的種類,如line,hist, bar, barh, pie, kde, scatter

figsize 畫布尺寸

title 標題

grid 是否顯示格子線條

legend 是否顯示圖例

style 圖的風格

查看plot參數可以使用help

import pandas as pdhelp(pd.DataFrame.plot)

python天氣查詢練手案例

python計算個稅

python繪製漫天雪花

python計算個稅

python實現吃豆豆小遊戲

python跳一跳練手小案例

  在線學編程  

http://dida100.com/it/

長按2秒學編程學單詞

  

 

求「」與「在看」🙏

相關焦點

  • Python 可視化神器--Plotly
    學習Python是做數分析的最基礎的一步,數據分析離不開數據可視化。Python第三方庫中我們最常用的可視化庫是 pandas,matplotlib,pyecharts,當然還有 Tableau,另外最近在學習過程中發現另一款可視化神器-Plotly,它是一款用來做數據分析和可視化的在線平臺,功能非常強大,可以在線繪製很多圖形比如條形圖、散點圖、餅圖、直方圖等等。
  • windows下如何安裝numpy、pandas、matplotlib、seaborn的python包?(附可視化展示+代碼)
    安裝pip安裝模塊numpypandasmatplotlibseabornpython數據可視化測試安裝python    如果想安裝numpy、pandas或matplotlib的python模塊,需要先安裝python。
  • pandas數據可視化原來也這麼厲害
    作者:小伍哥 來源:AI入門學習(公眾號)在python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。seaborn:是建構於matplotlib基礎上,能滿足絕大多數可視化需求,更特殊的需求還是需要學習matplotlib。pyecharts:上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。並且種類也比較豐富。
  • 【Python基礎】Pandas數據可視化原來也這麼厲害
    seaborn:是建構於matplotlib基礎上,能滿足絕大多數可視化需求,更特殊的需求還是需要學習matplotlib。pyecharts:上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。
  • Python神器Pandas讀取excel
    :pandas 是 Python 語言的一個擴展程序庫,主要用於數據分析,提供高性能、易於使用的數據結構和數據分析工具。pandas可結合處理EXCEL非常之方便,平時常用的功能很多比如:批量合併文件夾下的excel文件;按某一欄位批量拆分excel文件;excel與資料庫聯動處理等03案例演示在使用這個庫前,要安裝python,建議安裝python3.8以後的版本穩定,然後確認自己是否已安裝
  • Pandas數據可視化原來也這麼厲害
    seaborn:是建構於matplotlib基礎上,能滿足絕大多數可視化需求,更特殊的需求還是需要學習matplotlib。pyecharts:上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。
  • Python的可視化工具概述
    >ggplotBokehpygalPlotly在例子用,我將使用pandas操作數據,並啟動其可視化.在大多數情況下使用這些工具不需要pandas,但是我覺得pandas+可視化工具如此普遍,這是最好的起點。
  • 【量化小講堂】windows下如何安裝Python、pandas
    Python比較好安裝,而pandas比較難裝,當時裝了我一整天。pandas是Python下面的一個package,專門用於金融數據的分析,簡直是神器。從Python官網下載windows版本的Python,要下載python2,不要下載python3。
  • Pandas數據可視化原來也這麼厲害!
    這篇就詳細解讀了Pandas畫圖的十幾種方式,最後還有詳盡的參數介紹。seaborn:是建構於matplotlib基礎上,能滿足絕大多數可視化需求,更特殊的需求還是需要學習matplotlib。二、直接看案例Pandas 中,有11個比較常見的圖形可視化,還有幾個比較進階的,我們一個一個看看怎麼畫的
  • 相見恨晚,一招搞定數據可視化
    ,直接封裝了matplotlib裡面的庫然後我們只需要把數據放進去,設定幾個參數,一副圖就出來了,有的就是神器Pandas自帶的作圖功能當然後面有空會介紹更高級的神器Tableau,d3我們用一組表格數據,有行有列比如一組學生的數據:這是一個非常非常典型的二維數據,我們在處理數據的時候經常會用到,聰明的同學會發現
  • 想用Python做數據可視化?先邁過這個「坎」
    的人都會面臨一個問題,尤其是初學者:我應該選哪個來實現數據可視化? 以下就是將要用來創建繪製數據的示例: ·Pandas ·Seaborn ·Ggplot 在示例中,我將使用pandas進行數據處理並使用它來完成可視化的效果。
  • python數據分析萬字乾貨!一個數據集全方位解讀pandas
    說到python與數據分析,那肯定少不了pandas的身影,本文希望通過分析經典的NBA數據集來系統的全方位講解pandas包,建議搭配IDE一遍敲一邊讀哦。話不多說,開始吧!>對列進行操作指定數據類型數據清洗數據可視化pandas的安裝建議直接安裝anaconda,會預置安裝好所有數據分析相關的包,當然也可以使用pip安裝。
  • Python:Pandas的DataFrame如何按指定list排序
    前言寫這篇文章的起由是有一天微信上一位朋友問到一個問題,問題大體意思概述如下:現在有一個pandas的Series和一個python的list,想讓Series按指定的list進行排序,如何實現?原始碼需要的童鞋可在微信公眾號「Python數據之道」(ID:PyDataRoad)後臺回復關鍵字獲取視頻,關鍵字如下:「2017025」(不含引號)更多精彩文章請點擊微信公眾號底部菜單欄
  • Python數學建模技巧之pandas數據處理
    它集數值計算和科學可視化於一身,同時simulink這個殺手鐧。只可惜它是商業軟體。在開源層面,GNU計劃的Octave一直在做與MATLAB的語法兼容。倘若要尋找一個在建模競賽中能夠像MATLAB那樣很方便求解各類的建模算法的程式語言,Python無疑是不二之選。Python眾多的第三方庫提供了這種可能。
  • 技術帖 | 用python-pandas作圖矩陣
    對機器學習的數據進行可視化分析),作者的意思是我們在採用機器學習算法對數據進行分析時,首先要對數據進行了解,而了解數據最快速的方式就是可視化。但是作者可視化採用的方法對很多data都通用,且採用的是各種圖形的圖矩陣,如直方圖、散點圖矩陣等等。本文就根據作者的分析來介紹如何運用pandas作各種矩陣圖。
  • Python pandas模塊21個常用操作可視化
    下面對pandas常用的功能進行一個可視化的介紹,希望能讓大家更容易理解和學習pandas。1、Series序列系列(Series)是能夠保存任何類型的數據(整數,字符串,浮點數,Python對象等)的一維標記數組。軸標籤統稱為索引。
  • python推薦 | 面向地學領域的Python庫匯總
    •csv, xlsx等格式:pandas你值得擁有,無論是氣象還是其他領域的類似格式數據,使用pandas可以解決你的常用操作。•HDF格式:pandas和h5py可以處理hdf5格式,PyHDF可以處理hdf4格式。
  • 如何使用Python 和 Pandas讀寫JSON文件
    導入之後,我們打開一個新文件,並使用dump方法來使用Python寫入一個json文件。如何使用Pandas載入一個 JSON 文件現在,如果我們要處理這些數據,我們可能希望使用Pandas來將JSON文件加載到一個Pandas數據幀中。這樣我們就可以使用Pandas的內置方法來操作數據、進行匯總統計和數據可視化。
  • 高效使用 Python 可視化工具 Matplotlib
    基本前提如果你除了本文之外沒有任何基礎,建議用以下幾個步驟學習如何使用matplotlib:學習基本的matplotlib術語,尤其是什麼是圖和坐標軸始終使用面向對象的接口,從一開始就養成使用它的習慣用基礎的pandas繪圖開始你的可視化學習用seaborn進行更複雜的統計可視化用matplotlib來定製
  • Python的數據可視化:對比7種工具包
    在這篇文章中,我們將運用真實世界的數據,然後使用這些庫進行數據的可視化。當我們這樣做的時候,我們將發現,每個庫最適合用在哪裡,以及如何利用Python數據可視化系統最有效。探索數據集  在我們進行數據可視化之前,讓我們快速查看一下我們將要用到的數據集。我們將用到的據來自openflights。我們將用到 route,airport,和airline這三個數據。