python - 保证 numpy.ndarray 的最小维数 (ndim) 的函数

标签 python arrays numpy

在很多情况下,二维数组中的切片操作会产生一维数组作为输出,例如:

a = np.random.random((3,3))
# array([[ 0.4986962 ,  0.65777899,  0.16798398],
#        [ 0.02767355,  0.49157946,  0.03178513],
#        [ 0.60765513,  0.65030948,  0.14786596]])
a[0,:]
# array([ 0.4986962 ,  0.65777899,  0.16798398])

解决方法如下:

a[0:1,:]
# or
a[0,:][np.newaxis,:]
# array([[ 0.4986962 ,  0.65777899,  0.16798398]])

是否有任何 numpy 内置函数可以将输入数组转换为给定的维数?喜欢:

np.minndim(a, ndim=2)

最佳答案

np.array(array, copy=False, subok=True, ndmin=N)np.atleast_1d等实际上使用了reshape方法,可能是为了更好地支持一些奇怪的子类比如matrix。

对于二维中的大多数切片操作,您实际上可以使用矩阵类,但我强烈建议将使用限制在代码中大量使用其功能的那几个点。

关于python - 保证 numpy.ndarray 的最小维数 (ndim) 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18207219/

相关文章:

python - Pandas 数据框中的行操作

Python 和 OpenCV - 为什么经过 OpenCV 裁剪后的图像仍然可以影响原始图像?

python - 使用 OpenCV 的光流 - 水平和垂直分量

python - 使用 Blobstore API 和 Images API 在 GAE 中直接从 GCS 提供图像

python - 如何创建一个 numpy 数组,其元素是其他 numpy 数组对象?

javascript - 如何在 typescript 中找到树中的树

javascript - 如果将项目放入数组并排序,则确定项目的潜在索引。

python - numpy 数组中的快速替换

python - numpy.cov 实际上做了什么

python - 根据条件创建 Pandas Dataframe 的更好方法