這篇文章主要為大家展示了“Pandas中強(qiáng)大的數(shù)據(jù)可視化選項有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Pandas中強(qiáng)大的數(shù)據(jù)可視化選項有哪些”這篇文章吧。
我們提供的服務(wù)有:網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、韓城ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的韓城網(wǎng)站制作公司
數(shù)據(jù)科學(xué)行業(yè)中一個最常見的陷阱是花費數(shù)小時為他們的項目尋找最佳算法,而沒有花足夠的時間首先理解數(shù)據(jù)。
數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)項目的結(jié)構(gòu)化方法從項目目標(biāo)開始。同一組數(shù)據(jù)點可以推斷出一些有意義的信息。基于我們所尋找的,我們需要關(guān)注數(shù)據(jù)的另一個方面。一旦我們明確了目標(biāo),我們就應(yīng)該開始考慮我們需要的數(shù)據(jù)點。這將使我們能夠?qū)W⒂谧钕嚓P(guān)的信息集,而忽略可能不重要的數(shù)據(jù)集。
在現(xiàn)實生活中,從多個來源收集到的大多數(shù)時間數(shù)據(jù)都有空白值、打字錯誤和其他異常。在進(jìn)行任何數(shù)據(jù)分析之前,清除數(shù)據(jù)是至關(guān)重要的。
在本文中,我將討論五個強(qiáng)大的數(shù)據(jù)可視化選項,它們可以立即提供數(shù)據(jù)特征的感覺。即使在正式建?;蚣僭O(shè)測試任務(wù)之前,執(zhí)行EDA就可以傳達(dá)大量關(guān)于數(shù)據(jù)和特征之間關(guān)系的信息。
第1步-我們將導(dǎo)入pandas、matplotlib、seaborn和NumPy包,我們將使用這些包進(jìn)行分析。我們需要散點圖、自相關(guān)圖、滯后圖和平行圖。
import pandas as pd import numpy as np import matplotlib.pyplot as plt from pandas.plotting import autocorrelation_plot import seaborn as sns from pandas.plotting import scatter_matrix from pandas.plotting import autocorrelation_plot from pandas.plotting import parallel_coordinates from pandas.plotting import lag_plot
第2步-在Seaborn包中,有一個內(nèi)置的小數(shù)據(jù)集。我們將使用"mpg"、"tips"和"attention"數(shù)據(jù)進(jìn)行可視化。數(shù)據(jù)集是在seaborn中使用load_dataset方法加載的。
"""Download the datasets used in the program """ CarDatabase= sns.load_dataset("mpg") MealDatabase= sns.load_dataset("tips") AttentionDatabase= sns.load_dataset("attention")
六邊形分箱圖(hexpin)
我們經(jīng)常使用散點圖來快速掌握變量之間的關(guān)系。只要圖中沒有人口稠密的數(shù)據(jù)點,獲得一個洞察力是非常有幫助的。在下面的代碼中,我們繪制了"mpg"數(shù)據(jù)集中"Horsepower" 和"Acceleration"數(shù)據(jù)點之間的散點圖。
plt.scatter(CarDatabase.acceleration ,CarDatabase.horsepower,marker="^") plt.show()
散點圖中的點密集分布,從中獲取有意義的信息有點困難。
hexpins是解決重疊點散點圖的一個很好的替代方案。每個點不是在hexbin圖中單獨繪制的。在下面的代碼中,我們用相同的數(shù)據(jù)集在"Horsepower" 和"Acceleration"之間繪制一個hexbin。
CarDatabase.plot.hexbin(x='acceleration', y='horsepower', gridsize=10,cmap="YlGnBu") plt.show()
在hexpin圖中可以清楚地推斷"Horsepower" 和"Acceleration"范圍集中值,變量之間呈負(fù)線性關(guān)系。六邊形的大小取決于"網(wǎng)格大小"參數(shù)。
熱力圖(Heatmaps)
熱力是我個人最喜歡查看不同變量之間的相關(guān)性。那些在媒體上跟蹤我的人可能已經(jīng)注意到我經(jīng)常使用它。在下面的代碼中,我們將計算seaborn"mpg"數(shù)據(jù)集中所有變量之間的成對相關(guān)性,并將其繪制為熱力圖。
熱力圖是我個人最喜歡查看不同變量之間的相關(guān)性。那些在媒體上跟蹤我的人可能已經(jīng)注意到我經(jīng)常使用它。在下面的代碼中,我們將計算seaborn"mpg"數(shù)據(jù)集中所有變量之間的成對相關(guān)性,并將其繪制為熱力圖。
sns.heatmap(CarDatabase.corr(), annot=True, cmap="YlGnBu") plt.show()
我們可以看到"cylinders" 和 "horsepower" 是密切正相關(guān)的(正如在汽車中所預(yù)期的),而重量與加速度成反比。我們只需幾行代碼就可以快速理解所有不同變量之間的指示性關(guān)系。
自相關(guān)圖(Autocorrelation)
自相關(guān)圖是一個快速的試金石測試,以確定數(shù)據(jù)點是否隨機(jī)。如果數(shù)據(jù)點遵循某種趨勢,那么一個或多個自相關(guān)將顯著非零。圖中的虛線顯示99%的置信區(qū)間。在下面的代碼中,我們正在檢查"tips"數(shù)據(jù)庫中的總帳單金額是否是隨機(jī)的。
autocorrelation_plot(MealDatabase.total_bill) plt.show()
我們可以看到,自相關(guān)圖在所有時間滯后中都非常接近于零,這表明總的_bill數(shù)據(jù)點是隨機(jī)的。
當(dāng)我們按照特定順序繪制數(shù)據(jù)點的自相關(guān)圖時,我們可以看到該圖顯著地非零。
data = pd.Series(np.arange(12,7000,16.3)) autocorrelation_plot(data) plt.show()
滯后圖(Lag)
滯后圖也有助于驗證數(shù)據(jù)集是隨機(jī)值集還是遵循某種趨勢。當(dāng)繪制"tips"數(shù)據(jù)集的"total_bills"值的滯后圖時,就像在自相關(guān)圖中一樣,滯后圖表明它是隨機(jī)數(shù)據(jù),到處都有值。
lag_plot(MealDatabase.total_bill) plt.show()
當(dāng)我們延遲繪制一個非隨機(jī)數(shù)據(jù)序列時,如下面的代碼所示,我們得到了一條平滑的線條。
data = pd.Series(np.arange(-12*np.pi,300*np.pi,10)) lag_plot(data) plt.show()
平行坐標(biāo)圖(Parallel coordinates)
把我們的大腦包圍起來并將其可視化不僅僅是三維數(shù)據(jù),這一直是一個挑戰(zhàn)。繪制高維數(shù)據(jù)集的平行坐標(biāo)非常有用。每個尺寸用一條垂直線表示。
在平行坐標(biāo)系中,"N"等距垂直線表示數(shù)據(jù)集的"N"維度。頂點在第n個軸上的位置對應(yīng)于該點的第n個坐標(biāo)。
讓我們考慮一個小樣本數(shù)據(jù),它有五個小部件和大尺寸小部件的五個特性。
垂直線表示小部件的每個功能。一系列連續(xù)的線段代表"小"和"大"小部件的特征值。
下面的代碼繪制了seaborn中"attention"數(shù)據(jù)集的平行坐標(biāo)。請注意,群集的點看起來更靠近。
parallel_coordinates(AttentionDatabase,"attention",color=('#556270', '#C7F464')) plt.show()
以上是“Pandas中強(qiáng)大的數(shù)據(jù)可視化選項有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!