向numpy数组添加维度[重复]
Posted
技术标签:
【中文标题】向numpy数组添加维度[重复]【英文标题】:Add dimension to numpy array [duplicate] 【发布时间】:2020-06-24 05:21:33 【问题描述】:如果我有一个像这样的numpy
维度数组
[[1,2,3],[2,3,4],[3,4,5]]
有没有一种简单的方法来修改它,使尺寸像这样?
[[[1,2,3]],[[2,3,4]],[[3,4,5]]]
【问题讨论】:
这能回答你的问题吗? How can I add new dimensions to a Numpy array? 【参考方案1】:你可以简单地重塑它:
a = np.array([[1,2,3],[2,3,4],[3,4,5]])
a.reshape(3,1,3)
你也可以让它动态:
row = a.shape[0]
col = a.shape[1]
a.reshape(row, 1, col)
输出:
array([[[1, 2, 3]],
[[2, 3, 4]],
[[3, 4, 5]]])
【讨论】:
【参考方案2】:您可以使用 numpy.expand_dims() 来扩展数组维度。详见官方文档: https://docs.scipy.org/doc/numpy/reference/generated/numpy.expand_dims.html
【讨论】:
【参考方案3】:最简单的方法是:
>>> x = np.array([[1,2,3],[2,3,4],[3,4,5]])
>>> x[:,None,:]
array([[[1, 2, 3]],
[[2, 3, 4]],
[[3, 4, 5]]])
相当于:
>>> x[:, np.newaxis, :]
array([[[1, 2, 3]],
[[2, 3, 4]],
[[3, 4, 5]]])
这又几乎等同于,
>>> np.expand_dims(x, 1)
array([[[1, 2, 3]],
[[2, 3, 4]],
[[3, 4, 5]]])
【讨论】:
以上是关于向numpy数组添加维度[重复]的主要内容,如果未能解决你的问题,请参考以下文章