日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scatter函数_散点图、箱线图、核密度函数……数据分析必备的9种可视化图表

發布時間:2025/3/15 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scatter函数_散点图、箱线图、核密度函数……数据分析必备的9种可视化图表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

全文共2286字,預計學習時長9分鐘

圖源:dayliscrawl

作為數據分析對外輸出的關鍵環節,可視化技術可是數據科學家的必備技能之一。各種各樣的圖標花樣繁多,可別被這些炫酷的“造型”嚇退了。

本文將介紹九種不同的可視化技術,可以用來分析任何數據集,并且大多數都只需要少輸入一行代碼。就兩個字,好用!

加載數據集和快速瀏覽數據

為簡單起見,使用可從scikit-learn庫加載的Iris數據集,輸入以下代碼:

from sklearn.datasets importload_irisimport pandas as pddata = load_iris()df = pd.DataFrame(data['data'], columns=data['feature_names'])df['species'] = data['target']df.head()

可以看到,我們有一個只有5列的數據集。使用數據框上的info()函數對其進行快速分析: df.info()

如圖可見,只有150個條目,在任何一列中都沒有丟失值。

此外,還可以看到前四列有浮點值,而最后一列只允許出現整數。事實上,根據數據集描述,我們知道“物種”列只取三個值,每個值代表一種花。

要確認這一點,可以對該列使用unique()函數:

df.species.unique()array([0, 1, 2])

確實,“物種”列只取三個值:0、1和2。

了解了數據集的基本信息之后就可以進行可視化了。請注意,如果列中缺少一些值,應該對其進行刪除或填充。我們稍后將討論的一些技術不允許出現丟失值。

線形圖

從一個簡單的線狀圖開始可視化。選中整個數據框。

df.plot()

如圖可見,它已經根據索引值(x軸)繪制了不同顏色的所有列值。這是不為函數提供x軸參數時的默認行為。

現在看來這個圖不是很有用。如果x軸是一個時間序列,那么線圖是一個很好的選擇。我們可能會在數據中看到一些時間上的趨勢。

在本例中,只能看到數據是按“物種”列排序的(圖中紫色的步驟),并且其他列的移動平均值遵循該模式(花瓣長度,特別是紅色標記的花瓣長度)。

散點圖

這是一種將兩個連續變量之間的關系可視化的完美圖表。通過散點圖來分析萼片長度和萼片寬度的關系。

df.plot.scatter(x='sepal length(cm)', y='sepal width (cm)')

為了生成此圖,需要通過其列名來指定圖的x軸和y軸。這個圖表顯示這兩個變量之間沒有很強的相關性。讓我們來檢查另一對萼片長度和花瓣長度:

df.plot.scatter(x='sepal length(cm)', y='petal length (cm)')

在這種情況下,可以看到當萼片長度增加時,花瓣長度也會增加(當萼片長度大于6厘米時,增加幅度更大)。

餅狀圖

可以使用餅狀圖來可視化目標變量的類計數。我們將在這里對正在處理的Iris數據集進行處理。同樣需要一些輔助函數,這次使用的是groupby和count。

df.groupby('species').count().plot.pie(y='sepallength (cm)')

這一類目具有完美的比例,因為我們的數據集包含每個類的50個條目。

注意,必須在這里使用y參數并將其設置為某個列名。這里使用了萼片長度列,但它可以是任何列,因為所有列的計數都是相同的。

面積圖

還可以為這個數據集創建一個面積圖。圖中包括所有有厘米的維度,但是要刪除“物種”列,因為這些在本例中沒有任何意義。

columns = ['sepal length (cm)','petal length (cm)', 'petal width (cm)', 'sepal width (cm)']df[columns].plot.area()

這張圖上的測量值是一個接一個的。這個圖表可以讓你直觀地檢查包含在圖表中的每個度量之間的比率。所有的數值向之后的條目都有一個增長的趨勢。

條形圖

當顯示條目的平均或計數時,這是一個很好的圖表類型。可以用它來計算數據集中每個類型的每個維度的平均值。為此,需要使用groupby和mean函數。

df.groupby('species').mean().plot.bar()

上圖非常直觀,可以看到不同類型和不同柱的平均測量值存在差異。

箱線圖

箱線圖也是應該用于數值變量的可視化技術。它可以為所有的測量列繪制箱線圖(不包括物種列,因為對于這個分類變量來說,箱線圖沒有意義)。

columns = ['sepal length (cm)', 'petallength (cm)', 'petal width (cm)', 'sepal width (cm)']df[columns].plot.box()plt.xticks(rotation='vertical')

如圖所示,所有的箱線圖都畫在同一張圖上。由于沒有太多的變量來表示,所以這對我們來說是很好的。注意,必須旋轉x標簽,不這樣做標簽的名稱會相互重疊。

柱狀圖

柱狀圖對于任何連續變量來說都是一個完美的可視化技術。讓我們從簡單的hist函數開始。

import matplotlib.pyplot as pltdf.hist()plt.tight_layout()

可以看到,這會為數據集中的每個數值變量生成一個柱狀圖。要制作圖表,就不得不添加一些額外的代碼行。這是我調用tight_layout函數的第一個導入行和最后一行。如果不添加這個,標簽和子圖名可能會重疊并且不可見。

核密度函數

與柱狀圖類似,可以使用核密度函數:

df.plot.kde(subplots=True,figsize=(5,9))

它給出了與柱狀圖相似的結果。必須在這里指定一個圖形大小,否則圖形會在垂直方向上被壓得太厲害。

此外,還將subplots參數設置為True,因為在默認情況下,所有的列都會顯示在同一個圖表上。

散點矩陣圖

這是我最喜歡的數據分析的可視化技術之一,因為它可以對數據集中的所有數值及其相關性進行快速分析。

默認情況下,它將為數據幀中的所有數字變量對的散點圖和所有數字變量的柱狀圖。

from pandas.plotting importscatter_matrixscatter_matrix(df, figsize=(10, 10))

你將得到這個繪制精美的平面圖,只用一行代碼就能告訴你很多關于數據集的信息。在這組數據中,只需掃一眼就能發現這組數據中的一些變量之間的相關性。唯一需要設置的附加參數是數字尺寸,這是因為圖中的地塊非常小,默認的圖表尺寸很小。

可視化技術是你在數據分析的修煉道路上必不可少的一關,試試將這些知識應用到你所選擇的數據集。把數據玩出花,其實很簡單。

留言點贊關注

我們一起分享AI學習與發展的干貨

如轉載,請后臺留言,遵守轉載規范

總結

以上是生活随笔為你收集整理的scatter函数_散点图、箱线图、核密度函数……数据分析必备的9种可视化图表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。