Python中numpy的應用

2022-03-28 04:38:08 字數 2662 閱讀 6358

#

建立ndarray

import

numpy as np

nd = np.array([2,4,6,'

11'])#

numpy中預設ndarray的所有元素的資料型別是相同,如果資料的型別不同,會統一為統一型別,優先順序為str>float>int

nd #

array(['2', '4', '6', '11'], dtype='#

使用np建立routines函式建立

#(1)np.one(shape,dtype=none,order='c')建立陣列

#根據所給的形狀和型別返回乙個元素全部為1的陣列。預設numpy.float64型別

#引數:

#shape:定義返回元祖的形狀,傳入int或者ints元祖,如果傳入int,返一維陣列

#如果傳入ints元祖,返回多維陣列

#dtype:定義的資料型別,可選引數,預設numpy.float64.例如:numpy.int8

#order:可選,返回多維陣列時,記憶體的排列方式

np.ones(shape=(5,4)) #

返回乙個5行4列的陣列,元素的內容都為1

ones = np.ones(shape=(3,2,3), dtype=int) #

返回3個兩行三列都為1的陣列

#(2)np.zeros(shape,dtype=float,order='c')

#返回根據給定的形狀和型別全部為0的陣列

np.zeros(shape=(5,4)) #

返回乙個5行4列都為0的陣列

#(3)np.full(shape,fill_value,dtype=none,order='c')

#根據給定的形狀和所填充的值,返回乙個新的陣列

np.full(shape=(6,5,2), 1) #

shape可以理解為6個5行2列的陣列,並且都是使用1填充。

#(4)np.eye(n,m=none,k=0,dtype=float)

#返回乙個對角線為1,其他位置為0的陣列(可以理解為單位矩陣)

#引數:

#n:返回陣列的行數

#m:可選,返回的陣列的列表。如果不指定,返回的陣列行=列

#k:可選,指定對角線的位置

#dtype:可選,返回陣列的資料型別

np.eye(3,3) #

3行3列的陣列,主對角線為1, 其餘為0

#(5)np.linspace(start, stop, num=50, endpoint=true, retstep=false, dtype=none)

#在指定的範圍內返回均勻間隔的數字, 返回均勻分布的樣本

#引數:

#start: 序列的起始點

#end: 序列的結束點

#num: 生成的樣本數, 預設是50個。

np.linspace(1,10) #

50個元素的陣列

np.linspace(1,10,10) #

array([ 1.,2.,3., 4.,5.,6.,7.,8.,9.,10.]) -- 1-10分成10份

#(6)np.arange([start,]stop,[step,]dtype=none)

#類似python原生的range()方法,只不過返回的是array。

np.arange(0,100,step=2) #

建立由偶數組成的陣列

#(7)np.random.randint(low,high=none, size=none, dtype="l")

#生成在區間[low,high)上的隨機整數值;若high=none, 則取值區間變為[0,low), size為最大長度, 為整形和整形元組。

np.random.randint(10,20) #

生成乙個10-19之間的隨機值

np.random.randint(10,20,size=10) #

返回乙個陣列,包含10個隨機整數

np.random.randint(10,20,size=(2,3,4)) #

生成兩個3行4列的隨機值陣列

#(8)np.randn(d0,d1,...dn)

#標準的正太分布,引數為維度

np.random.randn(10,5) #

如果只給第乙個引數為一維,給第二個引數為二維,...

#(9)np.random.normal(loc=0.0, scale=1.0, size=none)

#正太分布函式

#引數:

#loc : 浮點型, 概率分布的均值, 對應著整體分布的中心center

#scale :浮點型, 概率分布的標準差

#size : 整形或整形陣列, 預設為none, 只返回乙個值

np.random.normal(175, scale=0, size=100) #

概率分布的標準差為0, 返回100個元素的陣列, 元素都為175

np.random.normal(175, scale=100, size=100) #

100個正太分布元素

#(10)np.random.random(size=none)

#生成0到1的隨機數。

np.random.random(size=(5,4)) #

5行4列

好好學習,天天向上

Numpy中outer的應用

1 dot 一維,計算內積,得到乙個值 多維,滿足矩陣相乘 2 outer 對於多維向量,全部展開變為一維向量 第乙個引數表示倍數,使得第二個向量每次變為幾倍。第乙個引數確定結果的行,第二個引數確定結果的列 import numpy as np x1 1,2,3 x2 4,5,6 outer np....

numpy中arg 方法的應用

numpy中返回物件中最大值,最小值或排序後的索引。arr.argmax 返回array物件中最大值所佔的索引 arr.argmin 返回array物件中最小值所在的索引 arr.argsort 返回array物件中公升序排列後的索引 上述三個api均可填入引數axis 0,1,axis 0,表示按...

Python 中 NumPy 的廣播

廣播描述了 numpy 如何在算術運算期間處理具有不同形狀的陣列。為了實現形狀相容,較小的陣列仍在較大的陣列上 廣播 廣播提供了一種向量化陣列操作的方法,以便在 c 而不是 python 中進行迴圈。numpy 通常在逐個元素的基礎上對陣列對進行操作。在最簡單的情況下,兩個陣列必須具有完全相同的形狀...