我有一個陣列串列,我想重塑串列中的每個陣列然后堆疊。
下面的示例
C = np.array([[-127, -108, -290],
[-123, -83, -333],
[-126, -69, -354],
[-146, -211, -241],
[-151, -209, -253],
[-157, -200, -254]])
D = np.array([[-129, -146, -231],
[-127, -148, -238],
[-132, -157, -231],
[ -93, -355, -112],
[ -95, -325, -137],
[ -99, -282, -163]])
E = np.array(([[-141, -133, -200],
[-132, -123, -202],
[-119, -117, -204],
[-107, -210, -228],
[-101, -194, -243],
[-105, -175, -244]]))
ArrayList = (C,D,E)
要重塑單個陣列,我執行以下操作
newArray = ArrayList[0].reshape(1,-1)
并產生所需的結果
array([[-127, -108, -290, -123, -83, -333, -126, -69, -354, -146, -211,
-241, -151, -209, -253, -157, -200, -254]])
我嘗試撰寫一個 for 回圈來遍歷每個專案
newArray = []
for i in ArrayList:
i.reshape(1,-1)
newArray.append(i)
但我得到了與我開始時相同的產品。所需的輸出如下所示
(array([[-127, -108, -290, -123, -83, -333, -126, -69, -354, -146, -211,
-241, -151, -209, -253, -157, -200, -254]]),
array([[-129, -146, -231, -127, -148, -238, -132, -157, -231, -93, -355,
-112, -95, -325, -137, -99, -282, -163]]),
array([[-141, -133, -200, -132, -123, -202, -119, -117, -204, -107, -210,
-228, -101, -194, -243, -105, -175, -244]]))
任何幫助表示贊賞。
uj5u.com熱心網友回復:
我認為你只需要這樣做:
newArray = []
for i in ArrayList:
j = i.reshape(1,-1)
newArray.append(j)
print(newArray)
輸出:
[array([[-127, -108, -290, -123, -83, -333, -126, -69, -354, -146, -211,
-241, -151, -209, -253, -157, -200, -254]]),
array([[-129, -146, -231, -127, -148, -238, -132, -157, -231, -93, -355,
-112, -95, -325, -137, -99, -282, -163]]),
array([[-141, -133, -200, -132, -123, -202, -119, -117, -204, -107, -210,
-228, -101, -194, -243, -105, -175, -244]])]
uj5u.com熱心網友回復:
使用串列推導怎么樣?
newArray = [i.reshape(1,-1) for i in ArrayList]
輸出:
[array([[-127, -108, -290, -123, -83, -333, -126, -69, -354, -146, -211,
-241, -151, -209, -253, -157, -200, -254]]),
array([[-129, -146, -231, -127, -148, -238, -132, -157, -231, -93, -355,
-112, -95, -325, -137, -99, -282, -163]]),
array([[-141, -133, -200, -132, -123, -202, -119, -117, -204, -107, -210,
-228, -101, -194, -243, -105, -175, -244]])]
uj5u.com熱心網友回復:
reshape()不保證它將在檔案中呼叫的“視圖”回傳到同一個陣列。請參閱檔案。它可能是原始陣列的副本,因此您需要使用回傳值并將回傳值附加到您的陣列中。這應該可以解決您的問題。
import numpy as np
C = np.array([[-127, -108, -290],
[-123, -83, -333],
[-126, -69, -354],
[-146, -211, -241],
[-151, -209, -253],
[-157, -200, -254]])
D = np.array([[-129, -146, -231],
[-127, -148, -238],
[-132, -157, -231],
[ -93, -355, -112],
[ -95, -325, -137],
[ -99, -282, -163]])
E = np.array(([[-141, -133, -200],
[-132, -123, -202],
[-119, -117, -204],
[-107, -210, -228],
[-101, -194, -243],
[-105, -175, -244]]))
ArrayList = (C,D,E)
newArray = []
for i in ArrayList:
newArray.append(i.reshape(1,-1))
print(newArray)
預期產出
[array([[-127, -108, -290, -123, -83, -333, -126, -69, -354, -146, -211,
-241, -151, -209, -253, -157, -200, -254]]), array([[-129, -146, -231, -127, -148, -238, -132, -157, -231, -93, -355,
-112, -95, -325, -137, -99, -282, -163]]), array([[-141, -133, -200, -132, -123, -202, -119, -117, -204, -107, -210,
-228, -101, -194, -243, -105, -175, -244]])]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/449864.html
下一篇:如何在numpy中構建互補陣列
