shape是數(shù)組array的 屬性 ;reshape()是數(shù)組array的 方法
shape屬性可以獲得當(dāng)前array的形狀:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8]) # 一維數(shù)組
print(a.shape) # 值為(8,)
print(a.shape[0]) # 值為8,因?yàn)橛?個(gè)數(shù)據(jù)
# print(a.shape[1]) # IndexError: tuple index out of range
a = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) # 二維數(shù)組
print(a.shape) # 值為(2, 4)
print(a.shape[0]) # 值為2,最外層矩陣有2個(gè)元素,2個(gè)元素還是矩陣。
print(a.shape[1]) # 值為4,內(nèi)層矩陣有4個(gè)元素。
# print(a.shape[2]) # IndexError: tuple index out of range
y = np.zeros((2, 3, 4, 5))
print(y.shape) # 值為(2, 3, 4, 5)
print(y)
y = np.zeros((2, 3, 4, 5))運(yùn)行結(jié)果:
reshape()方法用于改變數(shù)組的形狀(數(shù)組的形狀會改變,但是數(shù)組中的值不會改變):
變成的新形狀中所包含的元素個(gè)數(shù)必須符合原來元素個(gè)數(shù)。如果數(shù)組元素發(fā)生變化的時(shí)候,就會報(bào)錯(cuò):
reshape()函數(shù)生成的新數(shù)組和原始數(shù)組公用一個(gè)內(nèi)存,也就是說,不管是改變新數(shù)組還是原始數(shù)組的元素,另一個(gè)數(shù)組也會隨之改變:
當(dāng)不知道某一個(gè)維度值為多大時(shí),可以使用-1:
-1只能使用一次,否則會報(bào)錯(cuò)(有多種輸出可能):
參考:
- https://blog.csdn.net/qq_28618765/article/details/78083895
- https://blog.csdn.net/u010916338/article/details/84066369
- https://blog.csdn.net/m0_37592397/article/details/78695318
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
