Python numpy函數:reshape()


轉自:https://www.cnblogs.com/xiaojianliu/p/9988268.html

reshape()函數用於改變數組對象的形狀:

復制代碼
import numpy as np

a = np.array([1,2,3,4,5,6,7,8])

#轉換成2D數組
b = a.reshape((2,4))
print(b)

#轉換成3D數組
c = a.reshape((2,2,2))
print(c)
復制代碼

輸出:

復制代碼
[[1 2 3 4]
[5 6 7 8]] [[[1 2] [3 4]] [[5 6] [7 8]]]
復制代碼

注意:

修改后新生成的數組與原數組共用一個內存,改變元素會造成一變俱變:

a[0] = 99
b[1,1]=100
print(a)
print(b)
print(c)

輸出:

復制代碼
[ 99   2   3   4   5 100   7   8]

[[ 99   2   3   4]
 [  5 100   7   8]]

[[[ 99   2]
  [  3   4]]

 [[  5 100]
  [  7   8]]]
復制代碼

修改后的數組元素個數與原數組元素個數必須保持一致,若不一致,將會報錯:

d = a.reshape((2,2))

報錯:

ValueError: total size of new array must be unchanged


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM