教程:NumPy教程
閱讀筆記:
1.1 axis
ndarray是一個(gè)多維數(shù)組,比如我們有一個(gè)(2,4,3)這樣維度的數(shù)組僧凰,它表示:有2個(gè)數(shù)組探颈,每一個(gè)數(shù)組的維度為4行*3列:
取axis = 0時(shí),就相當(dāng)于所求的數(shù)組的結(jié)果變成shape(2训措,4)
取axis = 1時(shí)伪节,數(shù)組的結(jié)果shape(3,4)
取axis = 2時(shí)绩鸣,數(shù)組的結(jié)果shape(3怀大,2)
1.2 多維數(shù)組的操作
ndarray.shape
ndarray.ndim
ndarray.reshape
numpy.itemsize(每個(gè)元素類型的字節(jié)長度)
1.3 創(chuàng)建數(shù)組
np.empty
np.zeros
np.ones
從已有的數(shù)組創(chuàng)建:
numpy.asarray
numpy.frombuffer
numpy.fromiter(來自任何可迭代對象)
來自數(shù)值范圍內(nèi)的數(shù)據(jù):
numpy.arange(給定范圍等間隔,默認(rèn)從0開始呀闻,坐閉右開)
numpy.linspace(給定范圍和均勻間隔數(shù)量化借,左閉右閉)
numpy.logspace(對數(shù)刻度上均勻分布,base的start次冪~base的stop次冪)
1.4 切片
slice(start,stop,step)
多維ndarray切片:
高級和基本索引可以通過使用切片:或省略號...與索引數(shù)組組合捡多。
a = np.array([np.nan, 1,2,np.nan,3,4,5])
print a[~np.isnan(a)] #過濾Nan
1.5 數(shù)組上的迭代
numpy.nditer
1.6 數(shù)組操作
修改形狀
numpy.reshape
numpy.ndarray.flat(返回?cái)?shù)組上的一維迭代器)
numpy.ndarray.flatten(返回折疊為一維的數(shù)組副本蓖康,返回一個(gè)拷貝副本,內(nèi)容物理存儲(chǔ)在另一個(gè)位置垒手,修改副本不會(huì)影響原數(shù)組)
numpy.ravel(也是將多維數(shù)組降為一維蒜焊,但是返回的是view,相同內(nèi)存內(nèi)容的不同視圖,修改會(huì)影響原數(shù)組)
翻轉(zhuǎn)操作
numpy.transpose
numpy.ndarray.T
numpy.rollaxis(numpy.rollaxis的理解)
numpy.swapaxes(交換兩個(gè)軸)
修改維度
numpy.broadcast
numpy.broadcast_to
numpy.expand_dims(指定位置插入新的軸)
numpy.squeeze(指定位置刪除一維條目)
數(shù)組連接
numpy.concatenate(沿指定軸連接相同形狀的兩個(gè)或多個(gè)數(shù)組)
numpy.stack(沿新軸連接數(shù)組)
numpy.hstack(水平堆疊)
numpy.vstack(豎直堆疊)
數(shù)組分割:
numpy.split
numpy.hsplit
numpy.vsplit
添加/刪除元素
numpy.resize
numpy.append
numpy.insert(未提供軸時(shí)插入會(huì)展開原數(shù)組)
numpy.delete
1.7 位操作
numpy.bitwise_and (與)
numpy.bitwise_or(或)
numpy.invert(取反科贬,有符號的整數(shù)返回補(bǔ)碼)
numpy.left shift(左移泳梆,右補(bǔ)0)
numpy.right_shift(右移,左補(bǔ)0)
1.8 字符串函數(shù)(封裝在numpy.char中)
numpy.char.add(字符串連接)
numpy.char.multiply
numpy.char.center
numpy.char.capitalize
numpy.char.title(首字母大寫)
numpy.char.lower
numpy.char.split
numpy.char.splitlines
numpy.char.strip
numpy.char.join
numpy.char.replace
numpy.char.decode
numpy.char.encode
1.9 算數(shù)函數(shù)
三角函數(shù)
numpy.around
numpy.floor(向上取整)
numpy.ceil(向上取整)
1.10 算術(shù)運(yùn)算
numpy.reciprocal(取倒數(shù))
numpy.power
numpy.mod(余數(shù))= numpy.remainder()
1.11 統(tǒng)計(jì)運(yùn)算
numpy.amin
numpy.amax
numpy.ptp(沿軸方向的最大值-最小值)
numpy.percentile
numpy.median
numpy.mean
numpy.average