這周因為考科三耽誤了學(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)容和代碼晚點再附上吧~)