溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python數(shù)據(jù)處理及可視化的示例分析

發(fā)布時間:2022-03-22 09:31:51 來源:億速云 閱讀:164 作者:小新 欄目:編程語言

這篇文章主要介紹Python數(shù)據(jù)處理及可視化的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、NumPy的初步使用

表格是數(shù)據(jù)的一般表示形式,但對于機(jī)器來說是不可理解的,也就是無法辨識的數(shù)據(jù),所以我們需要對表格的形式進(jìn)行調(diào)整。
常用的機(jī)器學(xué)習(xí)表示形式為數(shù)據(jù)矩陣。
Python數(shù)據(jù)處理及可視化的示例分析
我們觀察這個表格,發(fā)現(xiàn),矩陣中的屬性有兩種,一種是數(shù)值型,一種是布爾型。那么我們現(xiàn)在就建立模型描述這個表格:

#  數(shù)據(jù)的矩陣化import numpy as np
data = np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False],
              [4,116,70.8,1,False],[5,270,150,4,True]])row = 0for line in data:
    row += 1print( row )print(data.size)print(data)

這里第一行代碼的意思就是引入NumPy將其重命名為np。第二行我們使用NumPy中的mat()方法建立一個數(shù)據(jù)矩陣,row是引入的計(jì)算行數(shù)的變量。
這里的size意思就是5*5的一個表格,直接打印data就可以看到數(shù)據(jù)了:
Python數(shù)據(jù)處理及可視化的示例分析

二、Matplotlib包的使用–圖形化數(shù)據(jù)處理

我們還是看最上面的表格,第二列是房價的差異,我們想直觀的看出差別是不容易的(因?yàn)橹挥袛?shù)字),所以我們希望能夠把它畫出來(研究數(shù)值差異和異常的方法就是繪制數(shù)據(jù)的分布程度):

import numpy as npimport scipy.stats as statsimport pylab
data =  np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False],
              [4,116,70.8,1,False],[5,270,150,4,True]])coll = []for row in data:
    coll.append(row[0,1])stats.probplot(coll,plot=pylab)pylab.show()

這個代碼的結(jié)果就是生成一個圖:
Python數(shù)據(jù)處理及可視化的示例分析
這樣我們就能清晰的看出來差異了。

一個坐標(biāo)圖的要求,就是通過不同的行和列表現(xiàn)出數(shù)據(jù)的具體值。
當(dāng)然,坐標(biāo)圖我們一樣可以展示:
Python數(shù)據(jù)處理及可視化的示例分析Python數(shù)據(jù)處理及可視化的示例分析

三、深度學(xué)習(xí)理論方法–相似度計(jì)算(可以跳過)

相似度的計(jì)算方法有很多,我們選用最常用的兩種,即歐幾里得相似度和余弦相似度計(jì)算。

1、基于歐幾里得距離的相似度計(jì)算

歐幾里得距離,用來表示三維空間中兩個點(diǎn)的真實(shí)距離。公式我們其實(shí)都知道,只是名字聽的少:
Python數(shù)據(jù)處理及可視化的示例分析
那么我們來看一看它的實(shí)際應(yīng)用:
這個表格是3個用戶對物品的打分:
Python數(shù)據(jù)處理及可視化的示例分析
d12表示用戶1和用戶2的相似度,那么就有:
Python數(shù)據(jù)處理及可視化的示例分析
同理,d13:
Python數(shù)據(jù)處理及可視化的示例分析
可見,用戶2更加相似于用戶1(距離越小,相似度越大)。

2、基于余弦角度的相似度計(jì)算

余弦角度的計(jì)算出發(fā)點(diǎn)是夾角的不同。
Python數(shù)據(jù)處理及可視化的示例分析
Python數(shù)據(jù)處理及可視化的示例分析
可見相對于用戶3,用戶2與用戶1更為相似(兩個目標(biāo)越相似,其線段形成的夾角越?。?/mark>

四、數(shù)據(jù)統(tǒng)計(jì)的可視化展示(以我們亳州市降水為例)

數(shù)據(jù)的四分位

四分位數(shù),是統(tǒng)計(jì)學(xué)中分位數(shù)的一種,也就是把數(shù)據(jù)由小到大排列,之后分成四等份,處于三個分割點(diǎn)位置的數(shù)據(jù),就是四分位數(shù)。
第一四分位數(shù)(Q1),也稱下四分位數(shù);
第二四分位數(shù)(Q1),也稱中位數(shù);
第三四分位數(shù)(Q1),也稱下四分位數(shù);

第三四分位數(shù)與第一四分位數(shù)的差距又稱為四分差距(IQR)。

若n為項(xiàng)數(shù),則:
Q1的位置 = (n+1)*0.25
Q2的位置 = (n+1)*0.50
Q3的位置 = (n+1)*0.75

四分位示例:
關(guān)于這個rain.csv,有需要的可以私我要文件,我使用的是亳州市2010-2019年的月份降水情況。

from pylab import *import pandas as pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()print(summary)array = dataFile.iloc[:,:].values
boxplot(array)plot.xlabel("year")plot.ylabel("rain")show()

以下是plot運(yùn)行結(jié)果:
Python數(shù)據(jù)處理及可視化的示例分析
這個是pandas的運(yùn)行
Python數(shù)據(jù)處理及可視化的示例分析
這里就可以很清晰的看出來數(shù)據(jù)的波動范圍。
可以看出,不同月份的降水量有很大差距,8月最多,1-4月和10-12月最少。

那么每月的降水增減程度如何比較?

from pylab import *import pandas as pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()minRings = -1maxRings = 99nrows = 11for i in range(nrows):
    dataRow = dataFile.iloc[i,1:13]
    labelColor = ( (dataFile.iloc[i,12] - minRings ) / (maxRings - minRings) )
    dataRow.plot(color = plot.cm.RdYlBu(labelColor),alpha = 0.5)plot.xlabel("Attribute")plot.ylabel(("Score"))show()

結(jié)果如圖:
Python數(shù)據(jù)處理及可視化的示例分析
可以看出來降水月份并不規(guī)律的上漲或下跌。

那么每月降水是否相關(guān)?

from pylab import *import pandas as pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()corMat = pd.DataFrame(dataFile.iloc[1:20,1:20].corr())plot.pcolor(corMat)plot.show()

結(jié)果如圖:
Python數(shù)據(jù)處理及可視化的示例分析
可以看出,顏色分布十分均勻,表示沒有多大的相關(guān)性,因此可以認(rèn)為每月的降水是獨(dú)立行為。

以上是“Python數(shù)據(jù)處理及可視化的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI