簡體   English   中英

展平3-D numpy數組

[英]Flatten 3-d numpy array

如何扁平化:

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

變成:

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

這些工作無足輕重:

c = np.apply_along_axis(np.ndarray.flatten, 0, b)
c = np.apply_along_axis(np.ndarray.flatten, 0, b)

只是返回相同的數組。

最好將其放平。

這將完成工作:

c=b.reshape(len(b),-1)

那么c

array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
       [1, 1, 1, 2, 2, 2, 3, 3, 3]])

您可以完全展平然后重塑:

c = b.flatten().reshape(b.shape[0],b.shape[1]*b.shape[2])

輸出量

array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
       [1, 1, 1, 2, 2, 2, 3, 3, 3]])

因此,您始終可以使用重塑:

b.reshape((2,9)) 
array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
       [1, 1, 1, 2, 2, 2, 3, 3, 3]])

暫無
暫無

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

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