日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

使用Pandas也可以進行數(shù)據(jù)可視化

 NeighborMrSun 2023-02-14 發(fā)布于湖南

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

圖片

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

我們將導入必要的庫并加載示例數(shù)據(jù)集。

 import pandas as pd
 import matplotlib.pyplot as plt
 df = pd.read_csv('https://raw./mwaskom/seaborn-data/master/titanic.csv')

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

創(chuàng)建簡單的圖

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

線圖

線圖用于表示連續(xù)間隔或時間段內(nèi)的數(shù)據(jù)趨勢。要創(chuàng)建線圖,調(diào)用plot 方法時需要將 kind 參數(shù)指定為 line。

 df.plot(kind='line', x='age', y='fare')

圖片

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

直方圖

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

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

圖片

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

條形圖

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

 df['class'].value_counts().plot(kind='bar')

圖片

餅圖

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

 df['embark_town'].value_counts().plot(kind='pie', rot=0)

圖片

散點圖

散點圖用于表示兩個連續(xù)變量之間的關(guān)系。要創(chuàng)建散點圖使用 plot 方法將 kind 參數(shù)指定為 scatter。

 df.plot(kind='scatter', x='age', y='fare')

圖片

Plot方法

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

  1. “area”面積圖

  2. “bar”垂直條形圖

  3. “barh”水平條形圖

  4. “box”箱線圖

  5. “hexbin” hexbin 圖

  6. “hist”直方圖。

  7. “kde”內(nèi)核密度估計圖表

  8. “density”是“kde”的別名

  9. “l(fā)ine”折線圖

  10. “pie”餅圖

  11. “scatter”散點圖

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

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

    .area()
    .bar()
    .barh()
    .box()
    .hexbin()
    .hist()
    .kde()
    .density()
    .line()
    .pie()
    .scatter()

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

定制圖表樣式顏色

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

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

圖片

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

多個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()

圖片

總結(jié)

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

Panda的可視化文檔在這里,有興趣的可以詳細查看:

https://pandas./docs/user_guide/visualization.html

希望本文對你有所幫助。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多