真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Numpy常用的函數(shù)有哪些

本篇內(nèi)容主要講解“Numpy常用的函數(shù)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Numpy常用的函數(shù)有哪些”吧!

在忻府等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、做網(wǎng)站 網(wǎng)站設(shè)計制作按需策劃設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),忻府網(wǎng)站建設(shè)費用合理。

一、Numpy 的加減乘除

首先Numpy 可以進(jìn)行加減乘除運算的前提是:Shape相同,或者滿足廣播規(guī)則

numpy 進(jìn)行加減乘除時,可以使用運算符號,即:+,-,*,/ ,也可以使用對應(yīng)的函數(shù): add(),subtract(),multiply()divide() ;比較簡單明了,舉例如下:

a = np.arange(12).reshape(3,4)
b = np.array([1,2,3,4])
print(a+b)
print (np.add(a,b))
# [[ 1  3  5  7]
#  [ 5  7  9 11]
#  [ 9 11 13 15]]

print(a-b)
print (np.subtract(a,b))
# [[-1 -1 -1 -1]
#  [ 3  3  3  3]
#  [ 7  7  7  7]]

print(a*b)
print (np.multiply(a,b))
# [[ 0  2  6 12]
#  [ 4 10 18 28]
#  [ 8 18 30 44]]

print(a/b)
print (np.divide(a,b))
# [[0.         0.5        0.66666667 0.75      ]
#  [4.         2.5        2.         1.75      ]
#  [8.         4.5        3.33333333 2.75      ]]

二、Numpy 的三角函數(shù)

2.1 常見三角函數(shù):sin()、cos()、tan()、arcsin(),arccos()arctan()

需要特別注意的一點是:三角函數(shù)的傳入值,默認(rèn)情況下是弧度制;常見三角函數(shù),舉例如下:

a = np.array([0,30,45,60,90])

sin = np.sin(a*np.pi/180)
print(sin)    # [0.         0.5        0.70710678 0.8660254  1.        ]
print(np.arcsin(sin))   # [0.         0.52359878 0.78539816 1.04719755 1.57079633]

cos = np.cos(a*np.pi/180)
print(cos)   # [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01 6.12323400e-17]
print(np.arccos(cos))     # [0.         0.52359878 0.78539816 1.04719755 1.57079633] 

tan = np.tan(a*np.pi/180)
print(tan)    # [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00 1.63312394e+16]
print(np.arctan(tan))  # [0.         0.52359878 0.78539816 1.04719755 1.57079633]

2.2 角度與弧度轉(zhuǎn)化:numpy.degrees()

利用numpy.degrees() 可以將弧度制轉(zhuǎn)化為角度制,舉例如下:

a = np.array([0,30,45,60,90])
sin = np.sin(a*np.pi/180)   # 這里的sin輸出的為對應(yīng)角的sin值;

print(np.degrees(np.arcsin(sin)))    # 這里為先取arcsin(),再將結(jié)果轉(zhuǎn)化為角度制,輸出為:[ 0. 30. 45. 60. 90.]

三、Numpy 的元素精度函數(shù)

3.1 四舍五入:numpy.around()

使用 numpy.around() 函數(shù),可以返回指定小數(shù)位數(shù)的四舍五入結(jié)果,格式如下:

numpy.around(a,decimals)

參數(shù)說明
a待四舍五入的數(shù)組
decimal四舍五入后的小數(shù)位數(shù),默認(rèn)值為0。 如果為負(fù),整數(shù)將四舍五入到小數(shù)點左側(cè)的位置

舉例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.around(a,2))
# [111.11 222.33 444.56 666.89 778.  ]
print(np.around(a,-2))   # 四舍五入到小數(shù)點左邊兩位
# [100. 200. 400. 700. 800.]

3.2 向上取整:numpy.ceil()

使用 numpy.ceil()  函數(shù),可以返回向上取整的結(jié)果,舉例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.ceil(a))   # [112. 223. 445. 667. 778.]

這個時候,有聰明的小伙伴會問,那如果我想要讓小數(shù)點后兩位的地方進(jìn)行向上取整呢?(這里叫向上取整似乎不是很科學(xué),但是領(lǐng)悟精神);我們只需要簡單的運算就可以,舉例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.ceil(a*100)/100)
# [111.12 222.34 444.56 666.89 778. ]  
np.set_printoptions(formatter={'float':'{:.2f}'.format})

上面的輸出方法中,有些小數(shù)點后的0沒有被顯示,所以可以使用如下方法輸出:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
np.set_printoptions(formatter={'float':'{:.2f}'.format})    # 設(shè)置np的顯示位數(shù)
print(np.ceil(a*100)/100)
# [111.12 222.34 444.56 666.89 778.00]

3.3 向下取整:numpy.floor()

使用 numpy.floor()  函數(shù),可以返回向下取整的結(jié)果,舉例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.floor(a*100)/100)
# [111.11 222.33 444.55 666.88 777.99]

3.4 Numpy指數(shù)運算:np.power()

格式:np.power(a, b) ,其中,a,b  可以是任意滿足Shape相同,或者滿足廣播規(guī)則的數(shù)組,a 為底數(shù),b 為指數(shù);

b = np.array([1,2,3,4])
print(np.power(b,2))
# [ 1  4  9 16]

3.5 Numpy取余數(shù):numpy.mod()

格式:numpy.mod(a, b) ,其中,a,b 可以是任意滿足Shape相同,或者滿足廣播規(guī)則的數(shù)組,最終的結(jié)果為 a/b 之后的余數(shù),舉例如下:

b = np.array([1,2,3,4])
print(np.mod(b,2))
# [1 0 1 0]

四、Numpy 的統(tǒng)計運算函數(shù)

numpy 提供了非常多的統(tǒng)計運算函數(shù),包含:最大值,最小值,極差,標(biāo)準(zhǔn)差,方法等等,現(xiàn)列舉如下常用統(tǒng)計函數(shù):

4.1 最大值與最小值:numpy.amin()numpy.amax()

numpy.amin() 用于計算numpy數(shù)組中的元素沿某個指定軸的最小值,若不指定軸,則返回整個數(shù)組中的最小值。numpy.amax() 用于計算numpy數(shù)組中的元素沿某個指定軸的最大值,若不指定軸,則返回整個數(shù)組中的最大值。

當(dāng)軸的設(shè)置為0時,返回每個列的最小值;當(dāng)軸設(shè)置為1時,返回每個行的最小值;

舉例如下:

a = np.arange(9).reshape(3,3)
print(a)
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]
print(np.amin(a))
# 0
print(np.amin(a,0))  
# [0 1 2]
print(np.amin(a,1))
# [0 3 6]
print(np.amax(a))
# 8
print(np.amax(a,0))
# [6 7 8]
print(np.amax(a,1))
# [2 5 8]

4.2 極差值:numpy.ptp()

使用 numpy.ptp()函數(shù)計算數(shù)組的極差,即元素最大值與最小值的差(最大值 - 最小值)。

a = np.arange(9).reshape(3,3)
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]
print(np.ptp(a))
# 8
print(np.ptp(a,0))
# [6 6 6]
print(np.ptp(a,1))
# [2 2 2]

4.3 分位數(shù):numpy.percentile()

分位數(shù)是統(tǒng)計學(xué)中常用的統(tǒng)計量,其中:四分之一分位數(shù),中位數(shù),四分之三分位數(shù) 是箱型圖中最重要的三個值; 在Numpy中,我們可以使用numpy.percentile() 來計算一個數(shù)組的分位數(shù),格式如下:

numpy.percentile(a, q, axis)

參數(shù)解釋
a輸入的數(shù)組
q需要計算的分位數(shù),范圍為0 ~ 100;
axis指定計算的軸的方向,不輸入則為整個數(shù)組計算分位數(shù)

舉例如下:

a = np.arange(100).reshape(10,10)
print(np.percentile(a,25))
# 25.75
print(np.percentile(a,25,axis=0))
# [23.5 24.5 25.5 26.5 27.5 28.5 29.5 30.5 31.5 32.5]
print(np.percentile(a,25,axis=1))
# [ 3.25 13.25 23.25 33.25 43.25 53.25 63.25 73.25 83.25 93.25]

4.4 中位數(shù):numpy.median()

中位數(shù)就是百分之五十分位數(shù),使用方法也很簡單,舉例如下:

a = np.arange(100).reshape(10,10)
print(np.percentile(a,50))
print(np.median(a))   # 兩個輸出是完全一樣的;
# 49.5  
print(np.percentile(a,50,axis=0))
print(np.median(a,axis=0))
# [45. 46. 47. 48. 49. 50. 51. 52. 53. 54.]
print(np.percentile(a,50,axis=1))
print(np.median(a,axis=1))
# [ 4.5 14.5 24.5 34.5 44.5 54.5 64.5 74.5 84.5 94.5]

4.5 平均值:numpy.mean()

Numpy 中 numpy.mean() 函數(shù)返回數(shù)組中元素的算術(shù)平均值。 如果提供了軸,則沿其計算。

a = np.arange(100).reshape(10,10)
print(np.mean(a))
# 49.5
print(np.mean(a,axis=0))
# [45. 46. 47. 48. 49. 50. 51. 52. 53. 54.]
print(np.mean(a,axis=1))
# [ 4.5 14.5 24.5 34.5 44.5 54.5 64.5 74.5 84.5 94.5]

4.6 加權(quán)平均值:numpy.average()

該函數(shù)與numpy.mean()的區(qū)別為,numpy.average()可以計算加權(quán)平均數(shù),即:可以根據(jù)權(quán)重來計算平均值;若我們不給權(quán)重參數(shù),則numpy.average()numpy.mean()是一樣的,舉例如下:

a = np.arange(9).reshape(3,3)
print(np.average(a)) # 4.0
print(np.mean(a))  # 4.0

b= np.array([1,2,3])
print(np.average(a,axis=0,weights=b))
# [4. 5. 6.]
print(np.average(a,axis=1,weights=b))
# [1.33333333 4.33333333 7.33333333]

解釋:數(shù)組[1,2,3,4]和相應(yīng)的權(quán)重[4,3,2,1],通過將相應(yīng)元素的乘積相加,并將和除以權(quán)重的和,來計算加權(quán)平均值。加權(quán)平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1) ,和我們大學(xué)計算平均分是一樣的;

4.7 標(biāo)準(zhǔn)差:numpy.std()

標(biāo)準(zhǔn)差是統(tǒng)計學(xué)中最常用的統(tǒng)計量之一,主要用來度量一組數(shù)據(jù)的分散程度,標(biāo)準(zhǔn)差的公式為:sqrt(mean((x - x.mean())**2)),在Numpy中計算標(biāo)準(zhǔn)差非常容易,舉例如下:

a = np.arange(100).reshape(10,10)
print(np.std(a))
# 28.86607004772212
print(np.std(a,axis=0))
# [28.72281323 28.72281323 28.72281323 28.72281323 28.72281323 28.7228132 28.72281323 28.72281323 28.72281323 28.72281323]
print(np.std(a,axis=1))
# [2.87228132 2.87228132 2.87228132 2.87228132 2.87228132 2.87228132  2.87228132 2.87228132 2.87228132 2.87228132]

4.8 方差:numpy.var()

統(tǒng)計中的方差是每個樣本值與全體樣本值平均數(shù)之差的平方值的平均數(shù),即 mean((x - x.mean())** 2)。 換句話說,標(biāo)準(zhǔn)差是方差的平方根。

a = np.arange(100).reshape(10,10)
print(np.var(a))
# 833.25
print(np.var(a,axis=0))
# [825. 825. 825. 825. 825. 825. 825. 825. 825. 825.]
print(np.var(a,axis=1))
# [8.25 8.25 8.25 8.25 8.25 8.25 8.25 8.25 8.25 8.25]

五、字符串相關(guān)函數(shù)

字符串相關(guān)函數(shù),在numpy中使用的不是很多,僅了解就好;

函數(shù)解釋
numpy.char.add()numpy.char.add() 函數(shù)依次對兩個數(shù)組的元素進(jìn)行字符串連接。
numpy.char.multiply()numpy.char.multiply() 函數(shù)執(zhí)行多重連接。
np.char.center(str , width,fillchar)numpy.char.center() 函數(shù)用于將字符串居中,并使用指定字符在左側(cè)和右側(cè)進(jìn)行填充。
numpy.char.capitalize()將字符串的第一個字母轉(zhuǎn)換為大寫;
numpy.char.title()函數(shù)將字符串的每個單詞的第一個字母轉(zhuǎn)換為大寫;
numpy.char.lower()對數(shù)組的每個元素轉(zhuǎn)換為小寫;
numpy.char.upper()對數(shù)組的每個元素轉(zhuǎn)換為大寫;
numpy.char.split()指定分隔符對字符串進(jìn)行分割,并返回數(shù)組。默認(rèn)情況下,分隔符為空格。
numpy.char.splitlines()以換行符作為分隔符來分割字符串,并返回數(shù)組。 \n,\r,\r\n 都可用作換行符。
numpy.char.strip()用于移除開頭或結(jié)尾處的特定字符。
numpy.char.join()通過指定分隔符來連接數(shù)組中的元素或字符串。
numpy.char.replace()使用新字符串替換字符串中的所有子字符串。
numpy.char.encode()對數(shù)組中的每個元素調(diào)用 str.encode 函數(shù)。 默認(rèn)編碼是 utf-8,可以使用標(biāo)準(zhǔn) Python 庫中的編解碼器。
numpy.char.decode()對編碼的元素進(jìn)行 str.decode() 解碼。

到此,相信大家對“Numpy常用的函數(shù)有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


本文標(biāo)題:Numpy常用的函數(shù)有哪些
文章分享:http://weahome.cn/article/iphpjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部