簡體   English   中英

將數組的numpy數組轉換為2D numpy數組

[英]Convert numpy array of arrays to a 2D numpy array

我有一個numpy數組的numpy數組,我想將其轉換為2d numpy數組。 例如

#Init Sub Arrays
a = np.array([1,2])
b = np.array([3,4,5])
c = np.array([2,1])
d = np.array([5,4,3])

#Combine Sub Arrays
e = np.array([[a,b],[c,d]])

#Sample Sub Arrays
f = e[:,0]
#Attempt to convert sub np arrays to 2d np array
g = np.array(f)

expected = np.array([[1,2],[2,1]])
print("Actual 1: ",f)
print("Actual 2: ",g)
print("Expected:", expected)

print("Actual 1: ",np.ravel(f))
print("Actual 2: ",np.ravel(g))
print("Expected: ",np.ravel(expected))

輸出:

Actual 1:  [array([1, 2]) array([2, 1])]
Actual 2:  [array([1, 2]) array([2, 1])]
Expected: [[1 2]
 [2 1]]
Actual 1:  [array([1, 2]) array([2, 1])]
Actual 2:  [array([1, 2]) array([2, 1])]
Expected:  [1 2 2 1]

我了解該數組的初始化方式是因為numpy在同一維上不支持長度不同的數組,但是我想知道如何將“ hack” numpy數組的有效樣本轉換為“ valid” numpy數組

您可以只使用np.vstack

out = np.vstack(e[:,0])
print(out)
array([[1, 2],
       [2, 1]])

print(out.ravel())
array([1, 2, 2, 1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM