pandas plot函數:數據可視化的快捷通道

一般來說,我們先用pandas分析數據,然後用matplotlib之類的可視化庫來顯示分析結果。
pandas庫中有一個強大的工具--plot函數,可以使數據可視化變得簡單而高效。

1. plot 函數簡介

plot函數是pandas中用於數據可視化的一個重要工具,
通過plot函數,可以輕鬆地將DataFrameSeries對象中的數據以圖形的形式展示出來。

plot函數支持多種類型的圖形,包括折線圖、柱狀圖、散點圖、餅圖等,這些不同類型的圖形適用於不同的數據分析場景。
此外,plot函數還支持通過參數設置來調整圖形的樣式,如顏色、標籤、圖例等,以滿足更加個性化的可視化需求。

plot函數的參數名稱和含義了matplotlib繪圖時的參數是類似的,
如果熟悉matplotlib繪圖的話,上手更快。

2. 數據準備

下面的示例中使用的數據採集自A股2024年1月和2月的真實交易數據。
數據下載地址:https://databook.top/。

導入數據:

import pandas as pd
import matplotlib.pyplot as plt

fp = r'D:\data\2024\歷史行情數據-不復權-2024.csv'

df = pd.read_csv(fp)
df = df.loc[:, ["股票代碼", "日期", "開盤", "收盤", "最高", "最低", "成交量"]]
df

3. 使用示例

針對上面的交易數據,下面演示如何用plot函數快速繪圖。

3.1. 折線圖

折線圖一般用於展示時間序列數據,可以提取某一支股票的數據並繪製出來。

# 提取870299這支股票
data = df.query("股票代碼==870299")
data.index = data["日期"]

# 繪製每天最高價和最低價的曲線
data.loc[:, ["最高", "最低"]].plot(kind="line", title="股票870299", rot=45)
plt.show()

image.png
代碼中有幾個注意點:

  1. data.index = data["日期"]plot函數將索引列作爲橫軸,所以這裏設置日期列爲索引(index
  2. kind參數:設置圖形的類型,這裏設置line,表示折線圖
  3. title參數:設置圖形的標題
  4. rot參數:調整刻度的角度,這裏將X軸的刻度旋轉了45度,防止日期之間的重疊

3.2. 柱狀圖

柱狀圖多用於比對數據,下面我們用pandas挑選幾支股票,然後比對它們的開盤價收盤價的平均值。

# 隨便挑選一些股票代碼
codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代碼", "開盤", "收盤"]].query("股票代碼==@codes")

# groupby之後,繪製各個股票開盤價和收盤價的平均值
data.groupby(by=["股票代碼"]).mean().plot(kind="bar")
plt.show()

image.png
代碼中的注意點:

  1. kind參數:設置圖形的類型,這裏設置bar,表示柱狀圖
  2. groupby之後,"股票代碼"變爲索引列,所以繪圖時作爲橫軸

如果要繪製橫向的柱狀圖,只要把kind參數設置成barh即可。

data.groupby(by=["股票代碼"]).mean().plot(kind="barh")

image.png

3.3. 餅圖

餅圖是另一種比較數據的方式,它可以比較數據之間的佔比,更好的看出各種數據的分佈情況。
下面也隨機挑選一些股票,用餅圖比較它們的成交量情況。

codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代碼", "成交量"]].query("股票代碼==@codes")

data.groupby(by=["股票代碼"]).sum()["成交量"].plot(kind="pie", autopct="%1.1f%%")
plt.show()

image.png
代碼中的注意點:

  1. kind參數:設置圖形的類型,這裏設置餅圖pie,表示餅圖
  2. autopct參數:各個區域所佔百分比的顯示方式

3.4. 其他...

除了上面常用的圖形,plot函數還支持其他多種圖形,其kind參數目前支持的圖形包括:

  • line : 折線圖
  • bar : 柱狀圖
  • barh : 橫向柱狀圖
  • hist : 直方圖
  • box : 箱型圖
  • kde : 核密度估計圖
  • area : 面積圖
  • pie : 餅圖
  • scatter : 散點圖
  • hexbin : 六邊形箱圖

4. 總結

總的來說,plot函數爲數據分析師提供了一個強大而靈活的數據可視化工具。
通過plot函數,我們可以快速地將數據轉化爲直觀的圖形,從而更好地理解數據的分佈、趨勢和關係。
這種直觀的理解有助於我們發現數據中的潛在模式,進而做出更加準確和有效的決策。

無論是初學者還是資深的數據分析師,都可以通過掌握plot函數來提升自己的數據分析能力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章