matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释
總認(rèn)為Numpy是渣渣,直到深入接觸以后才知道功能這么強(qiáng)大。堪比Matlab啊。果然是人生苦短,我用Python。所以本文作為一個(gè)記錄&筆記,文章內(nèi)容大多數(shù)取自網(wǎng)絡(luò)以&官網(wǎng)快速入門等,希望可以幫助大家快速入門Numpy。如果你有Matlab基礎(chǔ),那么你能很快看懂本文!!!(本文長(zhǎng)期更新!!!)
一個(gè)栗子
Python精講Numpy基礎(chǔ),大牛筆記詳細(xì)解釋
創(chuàng)建矩陣
對(duì)于Python中的numpy模塊,一般用其提供的ndarray對(duì)象。 創(chuàng)建一個(gè)ndarray對(duì)象很簡(jiǎn)單,只要將一個(gè)list作為參數(shù)即可。 例如:
Python精講Numpy基礎(chǔ),大牛筆記詳細(xì)解釋
矩陣行數(shù)列數(shù)
Python精講Numpy基礎(chǔ),大牛筆記詳細(xì)解釋
矩陣按行列選取
矩陣的截取和list相同,可以通過[](方括號(hào))來截取
矩陣按條件截取
按條件截取應(yīng)用較多的是對(duì)矩陣中滿足一定條件的元素變成特定的值。 例如將矩陣中大于6的元素變成0
Stacking together different arrays
矩陣的合并可以通過numpy中的hstack方法和vstack方法實(shí)現(xiàn):
- 矩陣的合并也可以通過concatenatef方法。
通過函數(shù)創(chuàng)建矩陣
arange
linspace/ logspace
ones、zeros、eye、empty
ones創(chuàng)建全1矩陣 ,zeros創(chuàng)建全0矩陣 ,eye創(chuàng)建單位矩陣 ,empty創(chuàng)建空矩陣(實(shí)際有值)
fromstring
fromstring()方法可以將字符串轉(zhuǎn)化成ndarray對(duì)象,需要將字符串?dāng)?shù)字化時(shí)這個(gè)方法比較有用,可以獲得字符串的ascii碼序列。
random
fromfunction
fromfunction()方法可以根據(jù)矩陣的行號(hào)列號(hào)生成矩陣的元素。 例如創(chuàng)建一個(gè)矩陣,矩陣中的每個(gè)元素都為行號(hào)和列號(hào)的和。
矩陣的運(yùn)算
常用矩陣運(yùn)算符
Numpy中的ndarray對(duì)象重載了許多運(yùn)算符,使用這些運(yùn)算符可以完成矩陣間對(duì)應(yīng)元素的運(yùn)算。
運(yùn)算符說明+矩陣對(duì)應(yīng)元素相加-矩陣對(duì)應(yīng)元素相減矩陣對(duì)應(yīng)元素相乘/矩陣對(duì)應(yīng)元素相除,如果都是整數(shù)則取商%矩陣對(duì)應(yīng)元素相除后取余數(shù)矩陣每個(gè)元素都取n次方,如*2:每個(gè)元素都取平方
常用矩陣函數(shù)
同樣地,numpy中也定義了許多函數(shù),使用這些函數(shù)可以將函數(shù)作用于矩陣中的每個(gè)元素。 表格中默認(rèn)導(dǎo)入了numpy模塊,即 import numpy as np 。a為ndarray對(duì)象。
常用矩陣函數(shù)說明np.sin(a)對(duì)矩陣a中每個(gè)元素取正弦,sin(x)np.cos(a)對(duì)矩陣a中每個(gè)元素取余弦,cos(x)np.tan(a)對(duì)矩陣a中每個(gè)元素取正切,tan(x)np.arcsin(a)對(duì)矩陣a中每個(gè)元素取反正弦,arcsin(x)np.arccos(a)對(duì)矩陣a中每個(gè)元素取反余弦,arccos(x)np.arctan(a)對(duì)矩陣a中每個(gè)元素取反正切,arctan(x)np.exp(a)對(duì)矩陣a中每個(gè)元素取指數(shù)函數(shù),exnp.sqrt(a)對(duì)矩陣a中每個(gè)元素開根號(hào)
- 當(dāng)矩陣中的元素不在函數(shù)定義域范圍內(nèi),會(huì)產(chǎn)生RuntimeWarning,結(jié)果為nan(not a number)
矩陣乘法(點(diǎn)乘)
矩陣乘法必須滿足矩陣乘法的條件,即第一個(gè)矩陣的列數(shù)等于第二個(gè)矩陣的行數(shù)。 矩陣乘法的函數(shù)為 dot 。
矩陣的轉(zhuǎn)置 a.T
矩陣的轉(zhuǎn)置還有更簡(jiǎn)單的方法,就是a.T。
矩陣的逆
設(shè)A是數(shù)域上的一個(gè)n階方陣,若在相同數(shù)域上存在另一個(gè)n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。
求矩陣的逆需要先導(dǎo)入numpy.linalg,用linalg的inv函數(shù)來求逆。矩陣求逆的條件是矩陣應(yīng)該是方陣。
矩陣信息獲取(如均值等)
最值
獲得矩陣中元素最大最小值的函數(shù)分別是max和min,可以獲得整個(gè)矩陣、行或列的最大最小值。
平均值
獲得矩陣中元素的平均值可以通過函數(shù)mean()。同樣地,可以獲得整個(gè)矩陣、行或列的平均值。
Python精講Numpy基礎(chǔ),大牛筆記詳細(xì)解釋
方差
方差的函數(shù)為var(),方差函數(shù)var()相當(dāng)于函數(shù)mean(abs(x - x.mean())**2),其中x為矩陣。
標(biāo)準(zhǔn)差
標(biāo)準(zhǔn)差的函數(shù)為std()。 std()相當(dāng)于sqrt(mean(abs(x - x.mean())**2)),或相當(dāng)于sqrt(x.var())。
中值
中值指的是將序列按大小順序排列后,排在中間的那個(gè)值,如果有偶數(shù)個(gè)數(shù),則是排在中間兩個(gè)數(shù)的平均值。中值的函數(shù)是median(),調(diào)用方法為numpy.median(x,[axis]),axis可指定軸方向,默認(rèn)axis=None,對(duì)所有數(shù)取中值。
求和
矩陣求和的函數(shù)是sum(),可以對(duì)行,列,或整個(gè)矩陣求和
累積和
某位置累積和指的是該位置之前(包括該位置)所有元素的和。例如序列[1,2,3,4,5],其累計(jì)和為[1,3,6,10,15],即第一個(gè)元素為1,第二個(gè)元素為1+2=3,……,第五個(gè)元素為1+2+3+4+5=15。矩陣求累積和的函數(shù)是cumsum(),可以對(duì)行,列,或整個(gè)矩陣求累積和。
極差
百分位數(shù)
序號(hào)參數(shù)及描述1.a 輸入數(shù)組2.q 要計(jì)算的百分位數(shù),在 0 ~ 100 之間3.axis 沿著它計(jì)算百分位數(shù)的軸
加權(quán)平均值
Shape Manipulation
Changing the shape of an array
數(shù)組的形狀可以用以下方式改變。Note that the following three commands all return a modified array, but do not change the original array:
The reshape function returns its argument with a modified shape, whereas the ndarray.resize method modifies the array itself:
If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated:
Splitting one array into several smaller ones
Using hsplit, you can split an array along its horizontal axis, either by specifying the number of equally shaped arrays to return, or by specifying the columns after which the division should occur:
Copies and Views
When operating and manipulating arrays, their data is sometimes copied into a new array and sometimes not. This is often a source of confusion for beginners. There are three cases:
No Copy At All
a = b,改變b就相當(dāng)于改變a,或者相反。
Python精講Numpy基礎(chǔ),大牛筆記詳細(xì)解釋
View or Shallow Copy
Different array objects can share the same data. The view method creates a new array object that looks at the same data.
Python精講Numpy基礎(chǔ),大牛筆記詳細(xì)解釋
Slicing an array returns a view of it:
Deep Copy
The copy method makes a complete copy of the array and its data.
曼德勃羅
總結(jié)
以上是生活随笔為你收集整理的matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 墨西哥州长:特斯拉工厂有望本月动工,明年
- 下一篇: 携程发布2022年净营收200亿元,净利