如果 k 是一个任意形状的 numpy 数组,那么 k.shape = (s1, s2, s3, ..., sn)
,我想 reshape 它以便 k.shape
变成 (s1, s2, ..., sn, 1)
,这是最好的一行代码吗?
k.reshape(*(list(k.shape) + [1])
最佳答案
这样更容易:
k.reshape(k.shape + (1,))
但如果你只想在最后添加一个空维度,你应该使用 numpy.newaxis
:
import numpy as np
k = k[..., np.newaxis]
或
k = k[..., None]
(参见 documentation on slicing)。
关于python - 这是在一行代码中向 numpy 数组添加额外维度的最佳方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835121/