亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

使用Pandas也可以進行數據可視化
2023-02-15   DeepHub IMBA

數據可視化是數據分析的一個重要方面,它提供了一種理解數據并從中得出有意義見解的方法。Pandas 是最常見的于數據分析的 Python 庫,它基于Matplotlib擴展了一些常用的可視化圖表,可以方便的調用,本篇文章就讓我們看看有哪些圖表可以直接使用。

在本文中,我們介紹使用 Pandas 進行數據可視化的基礎知識,包括創建簡單圖、自定義圖以及使用多個DF進行繪圖。

我們將導入必要的庫并加載示例數據集。

 
import pandas as pd
 import matplotlib.pyplot as plt
 df = pd.read_csv("https://raw.githubusercontent.com/mwaskom/seaborn-data/master/titanic.csv")
  • 1.
  • 2.
  • 3.

我們使用泰坦尼克的示例數據集,包含有乘客的信息,包括他們的船艙等、年齡、票價和生存狀態等信息。

創建簡單的圖

Pandas的 plot 方法提供了創建基本圖(例如線圖、條形圖和散點圖)的簡單方法。讓我們看幾個例子。

線圖

線圖用于表示連續間隔或時間段內的數據趨勢。要創建線圖,調用plot 方法時需要將 kind 參數指定為 line。

 
df.plot(kind="line", x="age", y="fare")
  • 1.

看著很亂對吧,這是因為我們展示的數據無法用線圖進行表示,下面我們用更好的圖表表示年齡這個字段

直方圖

我們可以在字段后直接使用hist方法來生成數據的直方圖

 
df.age.hist(figsize=(7.3,4), grid=False)
  • 1.

這樣是不是就一目了然了,能夠清楚地看到年齡的分布情況

條形圖

條形圖用于表示分類數據,其中每個條代表一個特定類別。要創建條形圖,可以 pandas DataFrame 上使用 plot 方法并將 kind 參數指定為 bar。

 
df["class"].value_counts().plot(kind="bar")
  • 1.

 

 

餅圖

餅圖與條形圖類似,但是它主要來查看數據的占比

 
df["embark_town"].value_counts().plot(kind="pie", rot=0)
  • 1.

 

 

散點圖

散點圖用于表示兩個連續變量之間的關系。要創建散點圖使用 plot 方法將 kind 參數指定為 scatter。

 
df.plot(kind="scatter", x="age", y="fare")
  • 1.

Plot方法

Pandas的可視化主要使用.plot()方法,它有幾個可選參數。其中最重要的是kind 參數,它可以接受 11 個不同的字符串值,并根據這些值創建不同的圖表:

  1. “area”面積圖
  2. “bar”垂直條形圖
  3. “barh”水平條形圖
  4. “box”箱線圖
  5. “hexbin” hexbin 圖
  6. “hist”直方圖。
  7. “kde”內核密度估計圖表
  8. “density”是“kde”的別名
  9. “line”折線圖
  10. “pie”餅圖
  11. “scatter”散點圖

如果你不指定kind 參數,它的默認值為“line”。也就是折線圖。如果不向 .plot() 提供任何參數,那么它會創建一個線圖,其中索引位于 x 軸上,所有數字列位于 y 軸上。雖然這對于只有幾列的數據集來說是一個有用的默認值,但對于大型數據集及其多個數字列來說,它看起就不好了。

還有就是:作為將字符串傳遞給 .plot() 的 kind 參數的替代方法,DataFrame 對象有幾種方法可用于創建上述各種類型的圖:

 
.area()
    .bar()
    .barh()
    .box()
    .hexbin()
    .hist()
    .kde()
    .density()
    .line()
    .pie()
    .scatter()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

還記得我們第一個直方圖的.hist方法嗎,他就是kind=‘hist’的一個替代。

定制圖表樣式顏色

我們還可以通過使用不同的參數來自定義圖表的外觀,例如標記的顏色、大小和形狀、標簽和標題。

 
df.plot(kind="scatter", x="age", y="fare", color="red", alpha=0.5)
 plt.xlabel("Age")
 plt.ylabel("Fare")
 plt.title("Relationship between Age and Fare")
 plt.show()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

 

 

就像我們最初介紹的那樣,pandas繪圖的底層是使用Matplotlib,所以這些參數都是與Matplotlib一致的,我們可以隨意進行調整。

多個DataFrame繪圖

Pandas還沒有提供多個DataFrame的方法,所以我們只能使用Matplotlib,就像下面這樣:

 
df_survived = df[df["survived"] == 1]
 df_not_survived = df[df["survived"] == 0]
 
 plt.scatter(df_survived["age"], df_survived["fare"], color="green", label="Survived")
 plt.scatter(df_not_survived["age"], df_not_survived["fare"], color="red", label="Not Survived")
 plt.xlabel("Age")
 plt.ylabel("Fare")
 plt.title("Relationship between Age and Fare")
 plt.legend()
 plt.show()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

總結

作為最常用的數據分析庫 Pandas 提供了一種創建圖表的簡單方法,這種方法可以幫我們快速對數據集進行簡單的分析,快速的了解數據集的情況。如果需要對數據進行更高級的可視化,可以使用Seaborn、Plotly等更高級的庫。

熱詞搜索:數據

上一篇:2023年及以后的七個大數據趨勢預測
下一篇:最后一頁

分享到: 收藏