W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
數(shù)組的形狀由沿每個(gè)軸的元素?cái)?shù)量決定:
>>> a = np.floor(10 * rg.random((3, 4)))
>>> a
array([[3., 7., 3., 4.],
[1., 4., 2., 2.],
[7., 2., 4., 9.]])
>>> a.shape
(3, 4)
可以使用各種命令更改數(shù)組的形狀。注意以下三個(gè)命令都返回一個(gè)修改過(guò)的數(shù)組,但不改變?cè)瓟?shù)組:
>>> a.ravel() # returns the array, flattened
array([3., 7., 3., 4., 1., 4., 2., 2., 7., 2., 4., 9.])
>>> a.reshape(6, 2) # returns the array with a modified shape
array([[3., 7.],
[3., 4.],
[1., 4.],
[2., 2.],
[7., 2.],
[4., 9.]])
>>> a.T # returns the array, transposed
array([[3., 1., 7.],
[7., 4., 2.],
[3., 2., 4.],
[4., 2., 9.]])
>>> a.T.shape
(4, 3)
>>> a.shape
(3, 4)
產(chǎn)生的數(shù)組中元素的順序ravel
通常是“C風(fēng)格”,即最右邊的索引“變化最快”,所以在a[0,?0]
后面的元素是a[0,?1]
.?如果數(shù)組被重新整形為其他形狀,則數(shù)組再次被視為“C風(fēng)格”。NumPy 通常創(chuàng)建按此順序存儲(chǔ)的數(shù)組,因此ravel
通常不需要復(fù)制其參數(shù),但如果該數(shù)組是通過(guò)獲取另一個(gè)數(shù)組的切片或使用不尋常的選項(xiàng)創(chuàng)建的,則可能需要復(fù)制它。ravel
和reshape
函數(shù)還可以使用可選參數(shù)指示函數(shù)和使用 FORTRAN 樣式數(shù)組,其中最左邊的索引變化最快。
reshape
函數(shù)以修改后的形狀返回其參數(shù),而?ndarray.resize
方法修改數(shù)組本身:
>>> a
array([[3., 7., 3., 4.],
[1., 4., 2., 2.],
[7., 2., 4., 9.]])
>>> a.resize((2, 6))
>>> a
array([[3., 7., 3., 4., 1., 4.],
[2., 2., 7., 2., 4., 9.]])
如果-1
在重塑操作中給出了一個(gè)維度,則會(huì)自動(dòng)計(jì)算其他維度:
>>> a.reshape(3, -1)
array([[3., 7., 3., 4.],
[1., 4., 2., 2.],
[7., 2., 4., 9.]])
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: