gpt4 book ai didi

python - 如何在numpy数组中选择轴值

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:48 24 4
gpt4 key购买 nike

我是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com