最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中NumPy的安裝與基本操作

 更新時(shí)間:2022年03月01日 10:08:34   作者:沉睡中的主角  
Python雖然也提供了array模塊,但其只支持一維數(shù)組,不支持多維數(shù)組,也沒(méi)有各種運(yùn)算函數(shù),因而不適合數(shù)值運(yùn)算,NumPy的出現(xiàn)彌補(bǔ)了這些不足,這篇文章主要給大家介紹了關(guān)于python中NumPy的安裝與基本操作的相關(guān)資料,需要的朋友可以參考下

Numpy是什么

很簡(jiǎn)單,Numpy是Python的一個(gè)科學(xué)計(jì)算的庫(kù),提供了矩陣運(yùn)算的功能,其一般與Scipy、matplotlib一起使用。其實(shí),list已經(jīng)提供了類(lèi)似于矩陣的表示形式,不過(guò)numpy為我們提供了更多的函數(shù)。如果接觸過(guò)matlab、scilab,那么numpy很好入手。 

NumPy是一個(gè)高性能的科學(xué)計(jì)算和數(shù)據(jù)分析基礎(chǔ)包。

NumPy的安裝

NumPy的安裝相對(duì)簡(jiǎn)單,我們可以通過(guò)Anaconda中的命令進(jìn)行安裝,也可以通過(guò)“pip install numpy" 語(yǔ)句對(duì)NumPy進(jìn)行安裝。如果需要驗(yàn)證NumPy是否安裝成功,則可以在NumPy安裝完成后通過(guò)輸入“import numpy"后運(yùn)行,看看是否輸出報(bào)錯(cuò)提示。

多維數(shù)組

創(chuàng)建多維數(shù)組

import numpy as np
 
#用array來(lái)創(chuàng)建
a=np.array([1,2,3])  #創(chuàng)建一維數(shù)組
print(a)
 
b=np.array([[1,2,3],[4,5,6]])  #創(chuàng)建高維數(shù)組
print(b)
 
#使用NumPy中的ones創(chuàng)建維度指定且元素全是1的數(shù)組
c=np.ones([2,3])   #全是1的數(shù)組
 
print(c)
 
c[1,2]=3 #對(duì)數(shù)組中的元素進(jìn)行覆蓋
 
print(c)
 
#創(chuàng)建維度制定且元素全為0的數(shù)組
d=np.zeros([2,3])
 
print(d)
 
#創(chuàng)建維度指定且元素全為隨機(jī)數(shù)的數(shù)組
e=np.empty([2,3])
print(e)

多維數(shù)組的常用屬性

ndim:返回統(tǒng)計(jì)的數(shù)組維數(shù),即維度的數(shù)量

#創(chuàng)建維度指定且元素全為隨機(jī)數(shù)的數(shù)組
e=np.empty([2,3])
print(e)
 
print(e.ndim)

結(jié)果:

[[0. 0. 0.]
 [0. 0. 0.]]
2

shape:返回?cái)?shù)組的維度值,對(duì)返回的結(jié)果使用一個(gè)數(shù)據(jù)類(lèi)型為整型的元組來(lái)表示,比如一個(gè)二維數(shù)組返回的結(jié)果為(n,m),那么n和m表示數(shù)組中對(duì)應(yīng)維度的數(shù)據(jù)的長(zhǎng)度。如果使用shape輸出的是矩陣的維度,那么在輸出的(n,m) 中,n表示矩陣的行,m表示矩陣的列。

#創(chuàng)建維度指定且元素全為隨機(jī)數(shù)的數(shù)組
e=np.empty([2,3])
print(e)
 
print(e.shape)

結(jié)果:

[[0. 0. 0.]
 [0. 0. 0.]]
(2, 3)

size:返回要統(tǒng)計(jì)的數(shù)組中的元素的總數(shù)量

#創(chuàng)建維度指定且元素全為隨機(jī)數(shù)的數(shù)組
e=np.empty([2,3])
print(e)
 
print(e.size)

結(jié)果:

[[0. 0. 0.]
 [0. 0. 0.]]
6

dtype:返回?cái)?shù)組中的元素的數(shù)據(jù)類(lèi)型。不過(guò)其顯示的數(shù)據(jù)類(lèi)型和我們之前定義的變量的數(shù)據(jù)類(lèi)型名有所區(qū)別,因?yàn)檫@些數(shù)據(jù)類(lèi)型都是使用NumPy 進(jìn)行定義的,而在NumPy中表示數(shù)據(jù)類(lèi)型使用的是numpy.int32、numpy.int16和numpy.float64這類(lèi)格式的名字

#創(chuàng)建維度指定且元素全為隨機(jī)數(shù)的數(shù)組
e=np.empty([2,3])
print(e)
 
print(e.dtype)

結(jié)果:

[[0. 0. 0.]
 [0. 0. 0.]]
float64

多維數(shù)組的基本操作

數(shù)組的算術(shù)運(yùn)算

數(shù)組能夠直接進(jìn)行加法、減法、乘法和除法算術(shù)運(yùn)算

import numpy as np
g=np.array([1,2,3])
h=np.array([4,5,6])
print("a-b-",a-b) #打印a-b的結(jié)果
print("a+b =",a+b) #打印a+b的結(jié)果
print("a/b =",a/b) #打印a/b的結(jié)果
print("a*b =",a*b) #打印a*b的結(jié)果

結(jié)果:

a-b- [-3 -3 -3]
a+b = [5 7 9]
a/b = [0.25 0.4  0.5 ]
a*b = [ 4 10 18]
 
Process finished with exit code 0

從上面的實(shí)例可以看出,雖然數(shù)組在構(gòu)造上類(lèi)似于矩陣,但是其運(yùn)算和之前介紹的矩陣運(yùn)算存在諸多不同:首先,矩陣是不存在除法運(yùn)算的,但是數(shù)組能夠進(jìn)行除法運(yùn)算:其次,數(shù)組的乘法運(yùn)算機(jī)制是通過(guò)將位置對(duì)應(yīng)的元素相乘來(lái)完成的,和矩陣的乘法運(yùn)算機(jī)制不同。下面來(lái)看看如何通過(guò)數(shù)組實(shí)現(xiàn)矩陣乘法運(yùn)算。

a=np.array([1,2,3])
b=np.array([4,5,6])
print("a-b-",a-b) #打印a-b的結(jié)果
print("a+b =",a+b) #打印a+b的結(jié)果
print("a/b =",a/b) #打印a/b的結(jié)果
print("a*b =",a*b) #打印a*b的結(jié)果
 
c = a.dot(b)
 
print("Matrix1: a*b =",c)  #打印a*b的結(jié)果
 
d = np.dot(a,b)
 
print("Matrix2: a*b",c)  #打印a*b的結(jié)果在運(yùn)行后,輸出的內(nèi)容

結(jié)果:

a-b= [-3 -3 -3]
a+b = [5 7 9]
a/b = [0.25 0.4  0.5 ]
a*b = [ 4 10 18]
Matrix1: a*b = 32
Matrix2: a*b 32
 
Process finished with exit code 0

在以上代碼中使用了兩種方法來(lái)實(shí)現(xiàn)矩陣的乘法運(yùn)算,其計(jì)算結(jié)果是一樣的。數(shù)組和矩陣的算術(shù)運(yùn)算還有一個(gè)較大的不同點(diǎn),就是數(shù)組可以直接和標(biāo)量進(jìn)行算術(shù)運(yùn)算,但是在矩陣運(yùn)算中是不可以的。

a = np.array([1,2,3])
 
print ("a * 2 =",a*2)
print("a 1 2 =",a/2)
print("a - 2 =",a-2)
print("a + 2 =",a+2)

結(jié)果:

a * 2 = [2 4 6]
a 1 2 = [0.5 1.  1.5]
a - 2 = [-1  0  1]
a + 2 = [3 4 5]

數(shù)組的自身運(yùn)算

(1)min:默認(rèn)找出數(shù)組的所有元素中值最小的元素,可以通過(guò)設(shè)置axis的值來(lái)按行或者列查找元素中的最小值。

(2) max:默認(rèn)找出數(shù)組的所有元素中值最大的元素,可以通過(guò)設(shè)置axis的值來(lái)按行或者列查找元素中的最大值。

(3) sum:默認(rèn)對(duì)數(shù)組中的所有元素進(jìn)行求和運(yùn)算,并返回運(yùn)算結(jié)果,同樣可以通過(guò)設(shè)置axis的值來(lái)按行或者列對(duì)元素進(jìn)行求和運(yùn)算。

(4) exp:對(duì)數(shù)組中的所有元素進(jìn)行指數(shù)運(yùn)算。

(5) sqrt: 對(duì)數(shù)組中的所有元素進(jìn)行平方根運(yùn)算。

(6) square:對(duì)數(shù)組中的所有元素進(jìn)行平方運(yùn)算。

隨機(jī)數(shù)組

生成隨機(jī)數(shù)在我們平時(shí)的應(yīng)用中是很有用的,在NumPy中有許多方法可以生成不同屬性的隨機(jī)數(shù),以滿(mǎn)足在計(jì)算中使用隨機(jī)數(shù)字的需求。

(1) seed: 隨機(jī)因子,在隨機(jī)數(shù)生成器的隨機(jī)因子被確定后,無(wú)論我們運(yùn)行多少次隨機(jī)程序,最后生成的數(shù)字都是一樣的,隨機(jī)因子更像把隨機(jī)的過(guò)程變成一種 偽隨機(jī)的機(jī)制,不過(guò)這有利于結(jié)果的復(fù)現(xiàn)。

(2) rand: 生成一個(gè)在[0,1)范圍內(nèi)滿(mǎn)足均勻分布的隨機(jī)樣本數(shù)。

(3) randn:生成一個(gè)滿(mǎn)足平均值為0且方差為1的正太分布隨機(jī)樣本數(shù)。

(4)randint:在給定的范圍內(nèi)生成類(lèi)型為整數(shù)的隨機(jī)樣本數(shù)。

(5) binomial: 生成-個(gè)維度指定且滿(mǎn)足二項(xiàng)分布的隨機(jī)樣本數(shù)。

(6) beta:生成一個(gè)指定維度且滿(mǎn)足beta分布的隨機(jī)樣本數(shù)。

(7) normal: 生成一個(gè)指定維度且滿(mǎn)足高斯正太分布的隨機(jī)樣本數(shù)。

索引、切片、迭代

在數(shù)組中也有索引、切片和迭代,其操作過(guò)程和列表類(lèi)似,不過(guò)多維數(shù)組相較于一維數(shù)組,在索引、切片和迭代等操作上會(huì)更復(fù)雜。

a = np.arange(10)
 
print(a) #輸出整個(gè)數(shù)組
print(a[:5]) #輸出數(shù)組的前 五個(gè)元素
for i in a:    #迭代輸出數(shù)組的全部元素 
    print (i)

結(jié)果:

[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4]
0
1
2
3
4
5
6
7
8
9
 
Process finished with exit code 0

總結(jié)

到此這篇關(guān)于python中NumPy安裝與基本操作的文章就介紹到這了,更多相關(guān)python中NumPy基本操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python數(shù)據(jù)清洗之表格字段智能去重

    Python數(shù)據(jù)清洗之表格字段智能去重

    數(shù)據(jù)清洗是數(shù)據(jù)分析和處理過(guò)程中一個(gè)至關(guān)重要的步驟,其中字段去重更是一個(gè)常見(jiàn)且關(guān)鍵的任務(wù),下面我們看看如何利用Python進(jìn)行表格字段智能去重吧
    2025-03-03
  • Python圖像處理之對(duì)比兩張圖片的差異示例

    Python圖像處理之對(duì)比兩張圖片的差異示例

    這篇文章主要給大家介紹了關(guān)于Python圖像處理之對(duì)比兩張圖片的差異,Python提供了一些庫(kù)和工具可以用于圖片的相似度比對(duì),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • python?flappy?bird小游戲分步實(shí)現(xiàn)流程

    python?flappy?bird小游戲分步實(shí)現(xiàn)流程

    哈嘍,哈嘍~今天小編又來(lái)分享小游戲了——flappy?bird(飛揚(yáng)的小鳥(niǎo)),這個(gè)游戲非常的經(jīng)典,游戲中玩家必須控制一只小鳥(niǎo),跨越由各種不同長(zhǎng)度水管所組成的障礙
    2022-02-02
  • Python中使用裝飾器時(shí)需要注意的一些問(wèn)題

    Python中使用裝飾器時(shí)需要注意的一些問(wèn)題

    這篇文章主要介紹了Python中使用裝飾器時(shí)需要注意的一些問(wèn)題,裝飾器是Python學(xué)習(xí)進(jìn)階中的重要知識(shí)點(diǎn),需要的朋友可以參考下
    2015-05-05
  • 使用Python實(shí)現(xiàn)XLS和XLSX之間的相互轉(zhuǎn)換

    使用Python實(shí)現(xiàn)XLS和XLSX之間的相互轉(zhuǎn)換

    在日常工作中,我們經(jīng)常需要處理和轉(zhuǎn)換不同格式的Excel文件,以適應(yīng)不同的需求和軟件兼容性,Excel文件的兩種常見(jiàn)格式是XLS(Excel 97-2003)和XLSX(Excel 2007及以上版本),本文將詳細(xì)介紹如何使用Python在XLS和XLSX格式之間進(jìn)行轉(zhuǎn)換,需要的朋友可以參考下
    2024-09-09
  • 關(guān)于Pandas缺失值inf與nan的處理實(shí)踐

    關(guān)于Pandas缺失值inf與nan的處理實(shí)踐

    這篇文章主要介紹了關(guān)于Pandas缺失值inf與nan的處理實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python數(shù)據(jù)類(lèi)型詳解(三)元祖:tuple

    Python數(shù)據(jù)類(lèi)型詳解(三)元祖:tuple

    本文給大家介紹的是Python數(shù)據(jù)類(lèi)型中的元祖(tuple),簡(jiǎn)單的說(shuō)Tuple,與列表一樣,元素也是不可變的,但與列表不同,在一個(gè)元祖可以包含不同類(lèi)型的元素
    2016-05-05
  • python禁用鍵鼠與提權(quán)代碼實(shí)例

    python禁用鍵鼠與提權(quán)代碼實(shí)例

    這篇文章主要介紹了python禁用鍵鼠與提權(quán)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Django 淺談根據(jù)配置生成SQL語(yǔ)句的問(wèn)題

    Django 淺談根據(jù)配置生成SQL語(yǔ)句的問(wèn)題

    今天小編就為大家分享一篇Django 淺談根據(jù)配置生成SQL語(yǔ)句的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取百度貼吧代碼分享

    零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取百度貼吧代碼分享

    前面幾篇都是以介紹基礎(chǔ)知識(shí)為主,各位童鞋估計(jì)都在犯嘀咕了,你到底寫(xiě)不寫(xiě)爬蟲(chóng)啊??額,好吧,本文就給大家寫(xiě)一個(gè)簡(jiǎn)單的百度貼吧的python爬蟲(chóng)代碼。
    2014-11-11

最新評(píng)論

屏山县| 娄底市| 博湖县| 乐亭县| 安仁县| 鲁山县| 黑水县| 上杭县| 兴山县| 揭东县| 隆尧县| 岳普湖县| 泽库县| 延庆县| 门源| 成武县| 泗阳县| 浑源县| 临潭县| 板桥市| 石棉县| 印江| 台州市| 洛扎县| 洪雅县| 武宁县| 九龙城区| 伊通| 仙游县| 黄梅县| 湖州市| 云南省| 包头市| 龙南县| 白山市| 和田市| 凌云县| 淄博市| 维西| 开平市| 林州市|