Numpy之ndarry

這周因為考科三耽誤了學(xué)習(xí),希望能借元旦假期趕上進度。

列表:數(shù)據(jù)類型可以不同 e.g. 3.14, ‘pi’,’3.141’,[3.141,3.14]

數(shù)組:數(shù)據(jù)類型相同 e.g. 3.14,3.141,3.134,3.12

Numpy是一個開源的python科學(xué)計算基礎(chǔ)庫,ndarray是其一個強大的N維數(shù)據(jù)對象

Python已經(jīng)有了列表類型,為什么還需要一個數(shù)組對象呢?

舉個例子,現(xiàn)在有AB兩個一維數(shù)組,要計算A^2+B^3,如果直接計算的話,我們元素間需要使用循環(huán)運算for i in range(len(a)),但是用numpy的ndarray的話不需要使用循環(huán),使一維數(shù)據(jù)更像單個數(shù)據(jù),可以直接計算。

ndarray數(shù)組一般要求所有元素類型相同,數(shù)組下標(biāo)從0開始。

np.array()生成一個ndarray,ndarray的別名是array

np.array()輸出成[]形式,元素由空格分割

ndarray對象的屬性如下:

屬性的使用如下:

例如對于 a=np.array([[0,1,2,3,4],

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [5,6,7,8,9]])

a.ndim==>2

a.shape==>(2,5)

a.size==>10

a.dtype==>dtype(‘int32’)

a.itemsize==>4

如果是非同質(zhì)的ndarray對象

例如x=np.array([[0,1,2,3,4],

? ? ? ? ? ? ? ? ? ? ? ? [5,6,7,8]])

x.shape==>(2,)

x.dtype==>dtype(‘0’)

x.itemsize==>4

x.size==>2

非同質(zhì)ndarray對象無法發(fā)揮Numpy的優(yōu)勢,應(yīng)該盡量避免使用

ndarray的創(chuàng)建方法1.從python中的列表,元組等類型創(chuàng)建

2.使用Numpy中函數(shù)創(chuàng)建,如:arange,ones,zeros等

一維數(shù)組的索引和切片與python的列表類似

e.g.a=np.array([9,8,7,6,5])

a[2]==>7

a[1:4:2]==>([8,6])

多維數(shù)組的索引,每個維度一個索引值,逗號分割

e.g.a=np.arrage(24).reshape((2,3,4))

a==>array([[[0,1,2,3],

? ? ? ? ? ? ? ? ? [4,5,6,7],

? ? ? ? ? ? ? ? ? [8,9,10,11]],

? ? ? ? ? ? ? ? ? [[12,13,14,15],

? ? ? ? ? ? ? ? ? [16,17,18,19],

? ? ? ? ? ? ? ? ? [20,21,22,23]]])

a[1,2,3]==>23

a[0,1,2]==>6

a[-1,-2,-3]==>17

未完待續(xù)

(沒有電腦實在不方便,其他內(nèi)容和代碼晚點再附上吧~)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容