numpy.empty方法
用來建立乙個指定形狀和型別的陣列,並且未初始化
numpy.empty(shape,dtype=float,order='c')
其中shape代表陣列形狀,dtype代表資料型別,order中」c「代表行優先、」f「代表列優先。
#建立空陣列x=np.empty([3,2],dtype=np.int32,order='c')
print(x)
執行後結果:
[[ 7209029 6422625][ 6619244 100]
[ 6553673 911867904]]
process finished with exit code 0
numpy.zeros方法
numpy.zeros(shape,dtype=float,order='f')
建立指定大小的陣列,陣列元素以0來填充。例使用自定義的型別建立zeros陣列:
z=np.zeros((5,),dtype=[('name','i8'),('age','i4')])print(z)
numpy.ones方法
numpy.ones方法建立乙個指定形狀的陣列,陣列元素以1填充。
numpy.ones(shape,dtype=none,order='c')
numpy.asarray方法
numpy.asarray 類似 numpy.array,但 numpy.asarray 引數只有三個,比 numpy.array 少兩個。
numpy.asarray(a,dtype=none,order='c')
其中dtype、order屬性與array屬性相同,引數a是指 任意形式的輸入引數,可以是列表,列表元組,元組,元組的元組,元組的列表,多維陣列。
如將列表x=[1,3,4]轉化為ndarry: a=np.asarray(x)
將元組轉化為ndarray:
xa=[(1,3,4),(2,4,2),(1,4,2,5)]xs=np.asarray(xa)
print(xs)
執行結果:
[(1, 3, 4) (2, 4, 2) (1, 4, 2, 5)]process finished with exit code 0
numpy.frombuffer
主要用於實現動態陣列,numpy.frombuffer接受buffer輸入引數,以流的形式讀入轉化成ndarray物件。
注意:buffer 是字串的時候,python3 預設 str 是 unicode 型別,所以要轉成 bytestring 在原 str 前加上 b。
numpy.frombuffer(buffer,dtype=float,count=-1,offset=0)
buffer: 可以是任意物件,以流的形式讀入、
dtype: 資料型別
count: 讀取資料的數量,預設為-1,讀取所有的資料
offset: 讀取的起始位置,預設從頭開始度
下面實現一串字元的轉化
# 實現動態陣列 numpy,frombuffers=b'hellow'
zs=np.frombuffer(s,dtype='s3');
print(zs)
**中要注意的有兩點:一是python3.x中要轉化成bytestring需要在原str前加上b 二是dtype的型別」sn「中n的值要能夠被bytestring型別字元的長度整除。
執行結果:
[b'hel' b'low']
numpy.fromiter方法
此方法可以從可迭代物件中建立ndarray物件,返回一組陣列
numpy.fromiter(iterable,dtype,count=-1)
iterable: 可迭代物件
dtype: 返回陣列的資料型別
count: 讀取資料的數量
下面使用range列表函式建立列表物件再使用迭代器建立ndarray物件
#使用迭代器建立ndarraylist=range(5)it=iter(list)xt=np.fromiter(it,dtype=float)
print(xt)
執行結果:
[0. 1. 2. 3. 4.]process finished with exit code 0
numpy.arange函式
numpy包中使用arange函式建立數值範圍並返回ndarray物件,函式格式如下:
numpy.arange(start,stop,step,dtype)
其中 start: 起始值
stop:終止值
step: 步長,預設為1
dtype: 返回ndarray的型別,預設返回輸入資料的型別
如設定乙個起始值、終止值與步長:
#設定起始值 終止值 步長xc=np.arange(10,20,2)
print(xc)
執行結果:
[10 12 14 16 18]process finished with exit code 0
numpy.linspace函式
用於建立乙個等差的一維陣列
np.linspace(start,stop,num=50,endpoint=true,rerstep=false,dtype=none)
其中 num:要生成等步長的樣本數量,預設50
endpoint 該值為true時,數列中包含stop值,反之不包含,預設為true
retstep 如果為true時,生成的陣列會顯示間距,反之不顯示
at=np.linspace(1,10,12,endpoint=true ).reshape([2,6])結果顯示:
[[ 1. 1.81818182 2.63636364 3.45454545 4.27272727 5.09090909][ 5.90909091 6.72727273 7.54545455 8.36363636 9.18181818 10. ]]
numpy.logspace函式
用來建立乙個等比數列,格式如下
np.logspace(start,stop,num=50,endpoint=true,base=10.0, dtype=none)
其中base:指對數log的底數
python OpenCV之numpy陣列操作
1.的表示與儲存 以矩陣的形式存在電腦裡,需要用到陣列操作來完成對影象的處理。np.ones size 可以建立任意維度的陣列,各個元素值均為1 23 np.zeros size,dtype 同上,但各個元素值為0.預設元素型別為浮點數使用示例 img np.zeros 256 256,3 np.u...
numpy之陣列運算
陣列之邏輯運算 可以直接對陣列進行邏輯判斷,會返回相應的bool型別陣列 通用判斷函式 三元運算子 陣列之統計運算陣列與數之間的運算 會作用到陣列中的每乙個元素上。陣列與陣列之間的運算 廣播機制 陣列在進行向量化運算時,要求陣列的形狀是相等的。當形狀不相等的陣列執行算術運算的時候,就會出現廣播機制,...
numpy之陣列計算
coding utf 8 import numpy as np import random 陣列和數字計算,進行廣播計算,包括加減乘除 t8 t8 2 print t8,t8.dtype,t8.shape 陣列和陣列計算,只要在某一維度 行或列 一樣,就可以進行廣播計算,包括加減乘除 t9 t5 t...