【轉】Pandas學習筆記(七)plot畫圖


Pandas學習筆記系列:

原文:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/3-8-pd-plot/ 本文有刪改

這次我們講如何將數據可視化. 首先import我們需要用到的模塊,除了 pandas,我們也需要使用 numpy 生成一些數據,這節里使用的 matplotlib 僅僅是用來 show 圖片的, 即 plt.show()

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

創建一個Series

這是一個線性的數據,我們隨機生成1000個數據,Series 默認的 index 就是從0開始的整數,但是這里我顯式賦值以便讓大家看的更清楚

# 隨機生成1000個數據
data = pd.Series(np.random.randn(1000),index=np.arange(1000))
 
# 為了方便觀看效果, 我們累加這個數據
data.cumsum()

# pandas 數據可以直接觀看其可視化形式
data.plot()

plt.show()

就這么簡單,熟悉 matplotlib 的朋友知道如果需要plot一個數據,我們可以使用 plt.plot(x=, y=),把x,y的數據作為參數存進去,但是data本來就是一個數據,所以我們可以直接plot。 生成的結果就是下圖:

image.png

Dataframe 可視化

我們生成一個1000*4 的DataFrame,並對他們累加

data = pd.DataFrame(
    np.random.randn(1000,4),
    index=np.arange(1000),
    columns=list("ABCD")
    )
data.cumsum()
data.plot()
plt.show()

image.png

這個就是我們剛剛生成的4個column的數據,因為有4組數據,所以4組數據會分別plot出來。plot 可以指定很多參數,具體的用法大家可以自己查一下這里

除了plot,經常會用到還有scatter,這個會顯示散點圖,首先給大家說一下在 pandas 中有多少種方法

  • bar
  • hist
  • box
  • kde
  • area
  • scatter
  • hexbin

但是我們今天不會一一介紹,主要說一下 plotscatter. 因為scatter只有xy兩個屬性,我們我們就可以分別給x, y指定數據

ax = data.plot.scatter(x='A',y='B',color='DarkBlue',label='Class1')

然后我們在可以再畫一個在同一個ax上面,選擇不一樣的數據列,不同的 color 和 label

# 將之下這個 data 畫在上一個 ax 上面
data.plot.scatter(x='A',y='C',color='LightGreen',label='Class2',ax=ax)
plt.show()

下面就是我plot出來的圖片

image.png




微信公眾號:AutoML機器學習
MARSGGBO原創
如有意合作或學術討論歡迎私戳聯系~
郵箱:marsggbo@foxmail.com



2019-10-30 15:06:21




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM