初學者必備的數(shù)組相關知識點
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
作者:進擊的合成尸
作者是一名在讀的大二學生,在我看來,是一個非常勵志的小伙子,雖然他總覺得自己并不是讀的名校,有點小小的不自信,但我相信這么早就意識到學習重要性的小伙子未來可期。
一、目錄:
數(shù)對象簡介
Numpy數(shù)組對象的常用屬性
數(shù)組類型
數(shù)組外貌
創(chuàng)建數(shù)組
創(chuàng)建數(shù)組的基本方法
函數(shù)創(chuàng)建數(shù)組
二、操作(具體如下)
三、總結
數(shù)組就是——array
實現(xiàn)多維數(shù)組和矩陣的高效運算
python中“萬物皆對象”,數(shù)組也是一個對象,有對象,就意味著有屬性和方法
dtype___返回數(shù)組中元素的類型
shape___返回由整數(shù)組成的原組,元組中的每個整數(shù)依次對應數(shù)組每個軸的元素個數(shù)
size__返回一個整數(shù),代表數(shù)組中元素的個數(shù)
ndim__返回一個整數(shù),代表數(shù)組的軸的個數(shù),即維度
nbytes__返回一個整書,代表用于保存數(shù)據(jù)的字節(jié)數(shù)
import numpy as npdata = np.array([1, 2, 3, 4])data.dtype# 輸出結果:dtype('int32')
數(shù)組一旦建立,其元素類型是不能隨意改變的,若需要修改元素類型
astype( )是數(shù)組的一個方法,能夠根據(jù)指定的類型(參數(shù)指定元素類型)新生成一個數(shù)組
new_data相對于data只有元素類型不同
new_data = data.astype(np.float)new_data#輸出結果 array([1., 2., 3., 4.])
返回一個元組,其中的元素由整數(shù)組成,代表著每個軸上的元素數(shù)
a = np.array([1, 2, 3, 4 ])b = np.array([1.0, 2.0, 3.0])a.shapeb.shape#結果(4.,)# (3.,)
創(chuàng)建數(shù)組的基本方法
np.array()——基本方法
np.array(object, dtype=None, copy = True, order = 'K', ...)
onject——引用對象是array_like(類數(shù)組,可以是列表,元組等可迭代序列,也可以是數(shù)組,矩陣)
a = np.array([1, 2, 3, 4])b = np.array([1.0, 2.0, 3.0, 4.0], dtype=float)# 結果:array([1, 2, 3, 4])# array([1., 2., 3., 4.])
嵌套列表中的各個元素的長度必須是一樣的,元素類型也需一樣,如果元素參差不齊,也不會報錯,只不過得不到我們預想的數(shù)組對象
da = np.array([[1, 2, 3, ],[],[]])
用函數(shù)創(chuàng)建數(shù)組
創(chuàng)造的數(shù)組具有某種規(guī)律
創(chuàng)建一個完全由0組成的數(shù)組,
以元組聲明他們的形狀
import numpy as npnp.ones((3,4)) #0軸的個數(shù)為3,1軸的個數(shù)為4#結果:array([[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]])
創(chuàng)建一個完全由1組成的數(shù)組
np.ones((3,4)) #0軸的個數(shù)為3,1軸的個數(shù)為4創(chuàng)建對角線獨有的數(shù)組
np.eye(4,dtype=int) 元素為等差數(shù)組
np.arange(1,10,3) #創(chuàng)建一維數(shù)組,數(shù)組的元素符合等差數(shù)列,前一個元素減去后一個元素值的差等于指定的步長# 相當于python中range函數(shù),“前包括,后不包括”原則# 結果:array([1, 4, 7])
array和list之間的區(qū)別
array
一個numpy array是內(nèi)存中一個連續(xù)的塊,并且array里的元素都是同一類。所以一旦確定了一個array,它的內(nèi)存就確定了,每個元素的內(nèi)存也就都確定了
可以看作為“序列”數(shù)據(jù)
array的object是類數(shù)組對象,可以為list,也可以為list of list
可以對整個數(shù)組進行數(shù)值運算(數(shù)組與數(shù)組,數(shù)組與標量)
list
list也可以看作為“序列”數(shù)據(jù)
list中的元素可以不同
創(chuàng)建array時,可以使用list,也可以使用list of list
不能對整個列表進行數(shù)值運算
好消息,小白學視覺團隊的知識星球開通啦,為了感謝大家的支持與厚愛,團隊決定將價值149元的知識星球現(xiàn)時免費加入。各位小伙伴們要抓住機會哦!

交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

