欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中NumPy的安裝與基本操作

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

Numpy是什么

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

NumPy是一個高性能的科學計算和數(shù)據(jù)分析基礎包。

NumPy的安裝

NumPy的安裝相對簡單,我們可以通過Anaconda中的命令進行安裝,也可以通過“pip install numpy" 語句對NumPy進行安裝。如果需要驗證NumPy是否安裝成功,則可以在NumPy安裝完成后通過輸入“import numpy"后運行,看看是否輸出報錯提示。

多維數(shù)組

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

import numpy as np
 
#用array來創(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 #對數(shù)組中的元素進行覆蓋
 
print(c)
 
#創(chuàng)建維度制定且元素全為0的數(shù)組
d=np.zeros([2,3])
 
print(d)
 
#創(chuàng)建維度指定且元素全為隨機數(shù)的數(shù)組
e=np.empty([2,3])
print(e)

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

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

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

結(jié)果:

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

shape:返回數(shù)組的維度值,對返回的結(jié)果使用一個數(shù)據(jù)類型為整型的元組來表示,比如一個二維數(shù)組返回的結(jié)果為(n,m),那么n和m表示數(shù)組中對應維度的數(shù)據(jù)的長度。如果使用shape輸出的是矩陣的維度,那么在輸出的(n,m) 中,n表示矩陣的行,m表示矩陣的列。

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

結(jié)果:

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

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

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

結(jié)果:

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

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

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

結(jié)果:

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

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

數(shù)組的算術運算

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

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ù)組在構(gòu)造上類似于矩陣,但是其運算和之前介紹的矩陣運算存在諸多不同:首先,矩陣是不存在除法運算的,但是數(shù)組能夠進行除法運算:其次,數(shù)組的乘法運算機制是通過將位置對應的元素相乘來完成的,和矩陣的乘法運算機制不同。下面來看看如何通過數(shù)組實現(xià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é)果在運行后,輸出的內(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

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

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ù)組的自身運算

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

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

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

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

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

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

隨機數(shù)組

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

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

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

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

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

(5) binomial: 生成-個維度指定且滿足二項分布的隨機樣本數(shù)。

(6) beta:生成一個指定維度且滿足beta分布的隨機樣本數(shù)。

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

索引、切片、迭代

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

a = np.arange(10)
 
print(a) #輸出整個數(shù)組
print(a[:5]) #輸出數(shù)組的前 五個元素
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é)

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

相關文章

  • Python保留數(shù)據(jù)并刪除Excel單元格的函數(shù)和公式

    Python保留數(shù)據(jù)并刪除Excel單元格的函數(shù)和公式

    在分析處理Excel表格時,我們可能需要使用各種公式或函數(shù)對表格數(shù)據(jù)進行計算,從而分析出更多的信息,但在展示、分享或再利用分析結(jié)果時,我們可能需要將含有公式的單元格轉(zhuǎn)換為靜態(tài)數(shù)值,本文將介紹如何使用Python代碼批量移除Excel單元格中的公式并保留數(shù)值
    2024-10-10
  • Python實現(xiàn)的從右到左字符串替換方法示例

    Python實現(xiàn)的從右到左字符串替換方法示例

    這篇文章主要介紹了Python實現(xiàn)的從右到左字符串替換方法,涉及Python字符串遍歷、運算、判斷、替換等相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • openCV-Python筆記之解讀圖像的讀取、顯示和保存問題

    openCV-Python筆記之解讀圖像的讀取、顯示和保存問題

    這篇文章主要介紹了openCV-Python筆記之解讀圖像的讀取、顯示和保存問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中安裝easy_install的方法

    Python中安裝easy_install的方法

    這篇文章主要介紹了Python中安裝easy_install的方法,需要的朋友可以參考下
    2018-11-11
  • python制作圖片縮略圖

    python制作圖片縮略圖

    這篇文章主要為大家詳細介紹了python制作圖片縮略圖的相關方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Django接收自定義http header過程詳解

    Django接收自定義http header過程詳解

    這篇文章主要介紹了Django接收自定義http header過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • django 自定義filter 判斷if var in list的例子

    django 自定義filter 判斷if var in list的例子

    今天小編就為大家分享一篇django 自定義filter 判斷if var in list的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 詳解基于python的全局與局部序列比對的實現(xiàn)(DNA)

    詳解基于python的全局與局部序列比對的實現(xiàn)(DNA)

    這篇文章主要介紹了詳解基于python的全局與局部序列比對的實現(xiàn)(DNA).文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Python線程threading模塊用法詳解

    Python線程threading模塊用法詳解

    這篇文章主要介紹了Python線程threading模塊用法,結(jié)合實例形式總結(jié)分析了Python線程threading模塊基本功能、原理、相關函數(shù)使用方法與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Python實現(xiàn)復雜的事件驅(qū)動架構(gòu)

    Python實現(xiàn)復雜的事件驅(qū)動架構(gòu)

    事件驅(qū)動架構(gòu)(Event-Driven?Architecture,?EDA)是一種軟件設計模式,它基于事件的產(chǎn)生、傳播和處理進行系統(tǒng)的構(gòu)建,下面我們來看看如何在?Python?中實現(xiàn)復雜的事件驅(qū)動架構(gòu)吧
    2024-12-12

最新評論