python - 是否有更 Pythonic/优雅的方式来扩展 Numpy 数组的维度?

标签 python arrays numpy multidimensional-array

我现在想做的是:

x = x[:, None,  None,  None,  None,  None,  None,  None,  None,  None]

基本上,我想将我的 Numpy 数组扩展 9 个维度。或者 N 维数,其中 N 可能无法事先知道!

有更好的方法吗?

最佳答案

另一种方法是使用 reshaping -

x.reshape((-1,) + (1,)*N)  # N is no. of dims to be appended

因此,基本上对于与单一维度对应的None's,我们沿这些维度使用长度为1 的形状。对于第一个轴,我们使用 -1 的形状来将所有元素插入其中。

sample 运行-

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)

关于python - 是否有更 Pythonic/优雅的方式来扩展 Numpy 数组的维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40069220/

相关文章:

javascript - html选择中的默认值

python - 如何更改 django allauth 中 activate_url 的值?

python - 在 QtableView 中添加复选框作为垂直标题

javascript - 从输入修改数组然后返回输出

python - Python 库 cvxpy 中非严格不等式作为约束

python - 防止或消除 loadtxt 中的 'empty file' 警告

python - 不理解 pandas 中 MonthEnd() 的输出

javascript - 如何循环遍历对象的对象和对象数组,并根据匹配数组元素的计数更新嵌套对象值?

javascript - 对对象数组进行分组的最有效方法

python - 查找向量矩阵的最频繁行或模式 - Python/NumPy