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


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

Numpy 的 put_along_axis(~) 在输入数组中设置特定值。这是就地完成的,即不会创建新的 Numpy 数组。

参数

1. a | array-like

输入数组。所有输入数组都被视为展平数组。

2. indices | Numpy array

将在其中设置值的指定轴中的索引。对于二维数组,索引表示列/行索引。尺寸必须与 a 相同。

3. values | array-like

要设置的值。如果 valuesa 短,则将重复 values 以确保形状匹配。

4. axis | int

插入值的轴。对于二维数组,允许的值如下:

说明

0

值按行设置。

1

值按列设置。

默认情况下,mode="raise"

返回值

无 - 设置就地完成。

例子

基本用法

a = np.array([5,6,7,8])
np.put_along_axis(a, np.array([1]), [9], axis=0)
a



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

二维数组

考虑以下二维数组:

a = np.array([[5,6],[7,8]])
a



array([[5, 6],
       [7, 8]])
按行设置值

设置 axis=0 ,如下所示:

a = np.array([[5,6],[7,8]])
np.put_along_axis(a, np.array([[1]]), [9], axis=0)
a



array([[5, 6],
       [9, 9]])

请注意索引的维度如何与输入数组 a 的维度相匹配。

按列设置值

设置 axis=1 ,如下所示:

a = np.array([[5,6],[7,8]])
np.put_along_axis(a, np.array([[1]]), [9], axis=1)
a



array([[5, 9],
       [7, 9]])

这里,请注意[1,0]并不代表第2行第1列。相反,它代表 a 的扁平化版本的第 1 个和第 0 个索引。因此,我们可以等效地使用[0,1] 来代替。

相关用法


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