当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy take方法用法及代码示例


Numpy 的 take(~) 方法用于访问数组的值、行和列。

参数

1. a | array_like

要对其执行方法的数组。

2. indices | numberarray_like

要获取的值的索引。如果您提供 number 类型,那么您将访问数组中的单个值、行或列。如果提供了 array_like 类型,则您将访问多个行/列。

3. axis | number | optional

选择值所沿的轴。默认情况下, axis=None ,即您的输入数组 a 将被视为扁平数组。

返回值

根据参数的不同,返回类型会有所不同。

  • 如果没有提供axis,那么您会得到一个数字,因为您只是访问单个值。

  • 如果提供了axis,那么您将获得一个 Numpy 数组,因为您正在访问行或列。

例子

访问矩阵中的单个值

x = [[4,5,6], [7,8,9]]
np.take(x, 1)



5

请记住,如果您为第二个参数提供 number 类型,则 Numpy 会将您的输入数组视为展平数组,即 x=[4,5,6,7,8,9] 。在此示例中,我们采用该展平数组的第一个索引,因此返回值 5。

访问矩阵的单行

要访问矩阵的行,请提供参数 axis=0

x = [[4,5,6], [7,8,9]]
np.take(x, 1, axis=0)



array([7, 8, 9])

为了澄清这段代码的作用,我们只是获取第二行(即行也遵循索引顺序,所以这就是我们将 1 设置为第二个参数的原因):

访问矩阵的单列

要访问矩阵的列,请提供参数 axis=1

x = [[4,5,6], [7,8,9]]
np.take(x, 1, axis=1)



array([5, 8])

为了澄清这段代码的作用,我们只是获取第二列(即列也遵循索引顺序,所以这就是我们将 1 设置为第二个参数的原因):

访问矩阵的多行

要访问矩阵的多列,请提供参数 axis=0 ,并为第二个参数提供类型 array-like

x = [[4,5,6], [7,8,9]]
np.take(x, [0,1], axis=0)



array([[4, 5, 6],
       [7, 8, 9]])

我们正在访问第一行和第二行,如下所示:

访问矩阵的多列

要访问矩阵的多列,请提供参数 axis=1 ,并为第二个参数提供类型 array-like

x = [[4,5,6], [7,8,9]]
np.take(x, [0,2], axis=1)



array([[4, 6],
       [7, 9]])

我们正在访问第一列和第三列,如下所示:

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | take method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。