numpy將多維數組降維成一維


numpy將多維數組降維成一維

一、總結

一句話總結:

可以用reshape方法,但是感覺flatten方法更好
pridict_y

[[14.394563 ]
 [ 4.5585423]
 [10.817445 ]
 [12.291978 ]
 [26.076233 ]
 [20.033213 ]
 [11.320534 ]
 [14.528755 ]
 [11.454205 ]
 [ 9.153889 ]
 [12.769189 ]
 [ 5.7419834]
 [25.451023 ]
 [18.215645 ]
 [21.743513 ]
 [ 8.488817 ]
 [17.128687 ]
 [17.53172  ]
 [ 4.953989 ]
 [11.3504   ]
 [ 7.5612407]
 [ 4.2715034]
 [20.316795 ]
 [17.732632 ]
 [ 4.2850647]
 [ 6.971166 ]
 [11.657596 ]
 [24.968727 ]
 [13.93272  ]]

pridict_y.reshape(29,)
和
pridict_y.flatten()
結果都是

array([14.394563 ,  4.5585423, 10.817445 , 12.291978 , 26.076233 ,
       20.033213 , 11.320534 , 14.528755 , 11.454205 ,  9.153889 ,
       12.769189 ,  5.7419834, 25.451023 , 18.215645 , 21.743513 ,
        8.488817 , 17.128687 , 17.53172  ,  4.953989 , 11.3504   ,
        7.5612407,  4.2715034, 20.316795 , 17.732632 ,  4.2850647,
        6.971166 , 11.657596 , 24.968727 , 13.93272  ], dtype=float32)

 

 

 

二、【python】numpy庫ndarray多維數組的維度變換方法

轉自或參考:【python】numpy庫ndarray多維數組的維度變換方法:reshape、resize、swapaxes、flatten等詳解與實例
https://blog.csdn.net/brucewong0516/article/details/79185282

numpy庫對多維數組有非常靈巧的處理方式,主要的處理方法有:

  • .reshape(shape) : 不改變數組元素,返回一個shape形狀的數組,原數組不變
  • .resize(shape) : 與.reshape()功能一致,但修改原數組
In [22]: a = np.arange(20)
#原數組不變
In [23]: a.reshape([4,5])
Out[23]:
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])

In [24]: a
Out[24]:
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19])

#修改原數組
In [25]: a.resize([4,5])

In [26]: a
Out[26]:
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])
  • .swapaxes(ax1,ax2) : 將數組n個維度中兩個維度進行調換,不改變原數組
In [27]: a.swapaxes(1,0)
Out[27]:
array([[ 0, 5, 10, 15], [ 1, 6, 11, 16], [ 2, 7, 12, 17], [ 3, 8, 13, 18], [ 4, 9, 14, 19]])
  • .flatten() : 對數組進行降維,返回折疊后的一維數組,原數組不變
In [29]: a.flatten()
Out[29]:
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19])
 


免責聲明!

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



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