shape是數組array的 屬性 ;reshape()是數組array的 方法
shape屬性可以獲得當前array的形狀:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8]) # 一維數組
print(a.shape) # 值為(8,)
print(a.shape[0]) # 值為8,因為有8個數據
# print(a.shape[1]) # IndexError: tuple index out of range
a = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) # 二維數組
print(a.shape) # 值為(2, 4)
print(a.shape[0]) # 值為2,最外層矩陣有2個元素,2個元素還是矩陣。
print(a.shape[1]) # 值為4,內層矩陣有4個元素。
# 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))運行結果:
reshape()方法用于改變數組的形狀(數組的形狀會改變,但是數組中的值不會改變):
變成的新形狀中所包含的元素個數必須符合原來元素個數。如果數組元素發生變化的時候,就會報錯:
reshape()函數生成的新數組和原始數組公用一個內存,也就是說,不管是改變新數組還是原始數組的元素,另一個數組也會隨之改變:
當不知道某一個維度值為多大時,可以使用-1:
-1只能使用一次,否則會報錯(有多種輸出可能):
參考:
- 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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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