[英]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.