XYZ*_*YZT 6 python arrays numpy multidimensional-array
我现在想做的是:
x = x[:, None, None, None, None, None, None, None, None, None]
Run Code Online (Sandbox Code Playgroud)
基本上,我想将我的 Numpy 数组扩展 9 维。或者一些 N 维,其中 N 可能事先不知道!
有一个更好的方法吗?
一种替代方法可能是reshaping-
x.reshape((-1,) + (1,)*N) # N is no. of dims to be appended
Run Code Online (Sandbox Code Playgroud)
因此,基本上对于None's对应于单例维度的那些,我们使用的是1沿着这些暗淡的长度形状。对于第一轴中,我们使用的形状-1,以所有元素推到它。
样品运行 -
In [119]: x = np.array([2,5,6,4])
In [120]: x.reshape((-1,) + (1,)*9).shape
Out[120]: (4, 1, 1, 1, 1, 1, 1, 1, 1, 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2401 次 |
| 最近记录: |