新手入門學(xué)習(xí)python Numpy基礎(chǔ)操作
NumPy(Numerical Python) 是 Python 語言的一個擴(kuò)展程序庫,支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫。是在學(xué)習(xí)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)之前應(yīng)該掌握的一個非?;厩覍?shí)用的Python庫。
導(dǎo)入庫,創(chuàng)建數(shù)組
import numpy as np a = np.arraya = np.array([0, 1, 2, 3, 4] ) #使用array函數(shù) a = np.array([[11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25], [26, 27, 28 ,29, 30], [31, 32, 33, 34, 35]]) #創(chuàng)建多維數(shù)組 a=np.zeros((2, 3)) #創(chuàng)建兩行三列的0填充的矩陣,ones(shape)則是創(chuàng)建1填充的,np.full((m,n)8) m行n列的全部是8的參數(shù) a=np.linspace(1., 4., 6) #創(chuàng)建1到4之間,共6個元素的等值間距的數(shù)組 a=np.arange(起,止,步長) #創(chuàng)建 從起到至,按步長排列的數(shù)組 a= np.indices((3,3)) #創(chuàng)建一個堆疊的更高維度的數(shù)組 a=np.mat() #創(chuàng)建矩陣,array只能從列表中生成,而mat可以從字符串或者列表中生成,比如mat("1,2;3,4"),而array([1,2,3,4]),mat是矩陣、array是數(shù)組(假矩陣)
基本操作符
np中矩陣之間加減乘除是對應(yīng)元素的+、-、*、/, 【注】一個數(shù)組加一個整數(shù),則是對該數(shù)組每個元素加該整數(shù),這個過程成為數(shù)組的廣播,如果階數(shù)不同則是每行與每行對應(yīng)相乘。
mat的矩陣若是使用*則是矩陣相乘,而非對應(yīng)元素相乘
其他的計(jì)算函數(shù):
- multiply(),數(shù)組或矩陣對應(yīng)位置相乘
- dot()函數(shù),a.dot(b)表示ab矩陣相乘,數(shù)學(xué)上的相乘。
- sum() #求和,可使用axis限定方向,0為縱向,1為橫向。[[...],[...],[...]]這樣橫著放求得時(shí)候他也會默認(rèn)為二維方陣,最后結(jié)果是[...]
- min() #找出最小的元素
- max() #找出最大的元素
- mean() #返回均值
- std() #返回標(biāo)準(zhǔn)方差
- var() #返回方差
- cumprod() #原數(shù)組該位置的前幾項(xiàng)元素乘 (累乘數(shù)組),可以使用axis指定方向,0表示縱向,1表示橫向,默認(rèn)橫向
- cumsum() #原數(shù)組該位置的前幾項(xiàng)元素和 (累加數(shù)組)
- ptp() #返回最大值減去最小值
np的索引和切片
import numpy as np data = np.arange(12).reshape((3, 4)) print(data) ##對數(shù)組元素進(jìn)行索引和切片 # 1. 取第一行的數(shù)據(jù) print(data[0]) # 2. 取第一列的數(shù)據(jù) print(data.T[0]) print(data[:, 1]) #3. 獲取多行 print(data[:2]) # 4. 獲取多行列 print(data.T[:2]) print(data[:, :2]) # 5. 獲取指定行的前幾列; print(data) print(data[[0,2], :2]) print(data[:2, [0,2]])
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用PyVista進(jìn)行mesh的色彩映射的實(shí)現(xiàn)
這篇文章主要介紹了Python利用PyVista進(jìn)行mesh的色彩映射的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python進(jìn)階之如何快速將變量插入有序數(shù)組
在我們學(xué)習(xí)python的過程中,學(xué)習(xí)序列是一門必修課。本文我們就來一起看一看Python是如何快速將變量插入有序數(shù)組的,感興趣的可以了解一下2023-04-04python利用platform模塊獲取系統(tǒng)信息
這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-10-10手把手教你怎么用Python實(shí)現(xiàn)zip文件密碼的破解
之前在家里的老電腦中,發(fā)現(xiàn)一個加密zip壓縮包,由于時(shí)隔太久忘記密碼了,依稀記得密碼是6位字母加數(shù)字,網(wǎng)上下載了很多破解密碼的軟件都沒有效果,于是想到自己用Python寫一個暴力破解密碼的腳本,需要的朋友可以參考下2021-05-05Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException)
這篇文章主要介紹了Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03