Pandas plot出圖


1、創建一個Series

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

>>> import pandas as pd
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> data = pd.Series(np.random.randn(1000),index=np.arange(1000))
>>> data.cumsum()
>>> data.plot()
<matplotlib.axes._subplots.AxesSubplot object at 0x000001886855E7F0>
>>> plt.show()

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

2、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()

這個就是我們剛剛生成的4個column的數據,因為有4組數據,所以4組數據會分別plot出來。

 

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

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

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

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)
<matplotlib.axes._subplots.AxesSubplot object at 0x000001E99493F630>
>>> plt.show()

 


免責聲明!

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



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