目錄
#一、NumPy的初步使用
二、Matplotlib套件的使用–圖形化資料處理
三、深度學習理論方法–相似度計算(可以跳過)
1、基於歐幾里德距離的相似度計算
2、基於餘弦角度的相似度計算
四、資料統計的視覺化展示(以我們亳州市降水為例)
資料的四分位數
首頁 後端開發 Python教學 深入了解Python數據處理及視覺化

深入了解Python數據處理及視覺化

Mar 21, 2022 pm 05:43 PM
python

本篇文章為大家帶來了關於python的相關知識,其中主要介紹了關於資料處理以及視覺化的相關問題,包括了NumPy的初步使用、Matplotlib套件的使用和資料統計的視覺化展示等等,希望對大家有幫助。

深入了解Python數據處理及視覺化

推薦學習:python教學

#一、NumPy的初步使用

表格是資料的一般表示形式,但對機器來說是不可理解的,也就是無法辨識的數據,所以我們需要對表格的形式進行調整。
常用的機器學習表示形式為資料矩陣。
深入了解Python數據處理及視覺化
我們觀察這個表格,發現,矩陣中的屬性有兩種,一種是數值型,一種是布林型。那我們現在就建立模型描述這個表格:

#  数据的矩阵化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()方法建立資料矩陣,row是引入的計算行數的變數。
這裡的size意思就是5*5的一個表格,直接列印data就可以看到資料了:
深入了解Python數據處理及視覺化

二、Matplotlib套件的使用–圖形化資料處理

我們還是看最上面的表格,第二列是房價的差異,我們想直觀的看出差別是不容易的(因為只有數字),所以我們希望能夠把它畫出來(研究數值差異和異常的方法就是繪製資料的分佈程度):

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()
登入後複製

這個程式碼的結果就是產生一個圖:
深入了解Python數據處理及視覺化
這樣我們就能清楚的看出來差異了。

一個座​​標圖的要求,就是透過不同的行和列來表現資料的具體值。
當然,座標圖我們一樣可以展示:
深入了解Python數據處理及視覺化深入了解Python數據處理及視覺化

三、深度學習理論方法–相似度計算(可以跳過)

相似度的計算方法有很多,我們選用最常用的兩種,即歐幾里德相似度和餘弦相似度計算。

1、基於歐幾里德距離的相似度計算

歐幾里德距離,用來表示三維空間中兩點的真實距離。公式我們其實都知道,只是名字聽的少:
深入了解Python數據處理及視覺化
那麼我們來看一看它的實際應用:
這個表格是3個用戶對物品的評分:
深入了解Python數據處理及視覺化
d12表示使用者1和使用者2的相似度,那麼就有:
深入了解Python數據處理及視覺化
同理,d13:
深入了解Python數據處理及視覺化
可見,使用者2更相似於用戶1(距離越小,相似度越大)。

2、基於餘弦角度的相似度計算

餘弦角度的計算出發點是夾角的不同。
深入了解Python數據處理及視覺化
深入了解Python數據處理及視覺化
可見相對於用戶3,用戶2與用戶1更為相似(兩個目標越相似,其線段形成的夾角越小)

四、資料統計的視覺化展示(以我們亳州市降水為例)

資料的四分位數

四分位數,是統計學中分位數的一種,也就是把資料由小到大排列,之後分成四等份,處於三個分割點位置的數據,就是四分位數。
第一四分位數(Q1),也稱呼下四分位數
第二四分位數(Q1),也稱中位數
第三四分位數(Q1),也稱下四分位數

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

#

若n为项数,则:
Q1的位置 = (n+1)*0.25
Q2的位置 = (n+1)*0.50
Q3的位置 = (n+1)*0.75

四分位示例:
关于这个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运行结果:
深入了解Python數據處理及視覺化
这个是pandas的运行
深入了解Python數據處理及視覺化
这里就可以很清晰的看出来数据的波动范围。
可以看出,不同月份的降水量有很大差距,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()
登入後複製

结果如图:
深入了解Python數據處理及視覺化
可以看出来降水月份并不规律的上涨或下跌。

那么每月降水是否相关?

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()
登入後複製

结果如图:
深入了解Python數據處理及視覺化
可以看出,颜色分布十分均匀,表示没有多大的相关性,因此可以认为每月的降水是独立行为。

今天就记录到这里了,我们下次再见!希望本文章对你也有所帮助。

推荐学习:python学习教程

以上是深入了解Python數據處理及視覺化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1414
52
Laravel 教程
1307
25
PHP教程
1255
29
C# 教程
1228
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles