在许多情况下,二维阵列中的切片操作会生成一个一维阵列作为输出,例如:
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])
有一些解决方法,如:
^{pr2}$是否有任何numpy
内置函数将输入数组转换为给定的维数?比如:
np.minndim(a, ndim=2)
您可以使用}。不幸的是,我认为目前还没有N维版本。在
np.atleast_1d
、np.atleast_2d
和{有
np.array(array, copy=False, subok=True, ndmin=N)
。np.atleast_1d
等。实际上使用了整形方法,可能是为了更好地支持一些奇怪的子类,比如matrix。在对于大多数二维切片操作,您实际上可以使用matrix类,尽管我强烈建议将其使用限制在代码中大量使用其功能的那几个点。在
相关问题 更多 >
编程相关推荐