這周因為考科三耽誤了學(xué)習(xí)绷杜,希望能借元旦假期趕上進(jìn)度勒奇。
列表:數(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是其一個強(qiáng)大的N維數(shù)據(jù)對象
Python已經(jīng)有了列表類型,為什么還需要一個數(shù)組對象呢赊颠?
舉個例子格二,現(xiàn)在有AB兩個一維數(shù)組劈彪,要計算A^2+B^3,如果直接計算的話顶猜,我們元素間需要使用循環(huán)運(yù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ù)
(沒有電腦實(shí)在不方便酸役,其他內(nèi)容和代碼晚點(diǎn)再附上吧~)