簡體   English   中英

Numpy將N維數組轉換為二維數組

[英]Numpy Convert N dimensional array into two dimensional array

給定一個具有形狀的n維數組(N,d_1,...,d_{n-1}) ,我想將該數組轉換為具有形狀(N,D)二維數組,其中D = \\prod_i d_i numpy有沒有任何巧妙的技巧來做到這一點?

您可以使用numpy.reshape()方法和array.shape來獲取原始數組的形狀,使用np.prod()來獲取d_1 , d_2 , ...的乘積。 示例 -

In [22]: import numpy as np

In [23]: na = np.arange(10000).reshape((5,2,10,10,10))

In [26]: new_na = np.reshape(na, (na.shape[0], np.prod(na.shape[1:])))

In [27]: new_na.shape
Out[27]: (5, 2000)

或@hpaulj在評論中建議的更簡單的版本 -

In [31]: new_na = np.reshape(na, (na.shape[0], -1))

In [32]: new_na.shape
Out[32]: (5, 2000)

暫無
暫無

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

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