- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 numpy 的新用户,我使用的是 numpy delete ,它提到要删除水平行我们应该使用 axis=0 但在 numpy 的其他文档中 glossary ,它说水平轴是1。如果有人能告诉我我的理解有什么问题,那就太好了。
最佳答案
数组是在任何维度的网格中构造数字的系统方法。网格方向有标签,这些标签来自关于如何将新维度添加到网格的约定。
约定如下:
最简单的此类网格是一个 0 维 (0D) 数组,它没有轴
并且只能容纳一个标量。这是一个 0D 数组:
42
如果我们开始将标量放入列表中,我们会得到一个一维数组。这个新网格只有一个轴,如果我们想用数字标记那个轴,我们最好从简单的东西开始——比如 axis=0
!一维数组可以是:
# ----0--->
[42, π, √2]
现在我们要创建一个一维数组数组,这将为我们提供一个二维数组。水平轴仍为 0,但新的垂直轴将获得我们已知的下一个最小数字,axis=1
。它可能是这样的:
# ----0---->
[[42, π, √2], # |
[1, 2, 3], # 1
[10, 20, 30]] # V
真正的美妙之处在于它可以推广到无穷大。如果我们需要一盒数字,我们会通过堆叠 2D 数组来创建一个 3D 数组,追踪盒子深度的方向自然必须是 axis=2
。如果我们想要一个 4D 数组,我们只需制作一个框列表(3D 数组),并使用沿 axis=3
的索引调用每个框。这可以永远持续下去。
在 NumPy 中:
任何采用 axis
参数的函数/方法都使用此约定。对于二维数组,这意味着执行类似 np.delete(X, [1, 2, 3], axis=0)
的操作将遍历沿第 0 轴拉伸(stretch)的数组,以返回 X
没有第 1、2 和 3 行。相同的逻辑适用于从数组中获取值。
X[rows_along_0th_axis, columns_along_1st_axis, ..., vectors_along_nth_axis]
关于python - 如何在numpy数组中选择轴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36215360/
我是一名优秀的程序员,十分优秀!