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


Python numpy insert用法及代码示例


本文简要介绍 python 语言中 numpy.insert 的用法。

用法:

numpy.insert(arr, obj, values, axis=None)

在给定索引之前沿给定轴插入值。

参数

arr array_like

输入数组。

obj 整数、切片或整数序列

定义插入值的索引或索引的对象。

当 obj 是单个标量或具有一个元素的序列时,支持多次插入(类似于多次调用 insert)。

values array_like

要插入的值arr.如果类型不同于arr,转换为的类型arr.应该是这样的arr[...,obj,...] = values是合法的。

axis 整数,可选

沿其插入值的轴。如果axis为None,则首先将arr展平。

返回

out ndarray

一份arr插入。注意insert不会就地发生:返回一个新数组。如果是无,out是一个扁平数组。

注意

请注意,对于更高尺寸的刀片对象=0表现得非常不同对象=[0]就像arr[:,0,:] = 值不同于arr[:,[0],:] = 值.

例子

>>> a = np.array([[1, 1], [2, 2], [3, 3]])
>>> a
array([[1, 1],
       [2, 2],
       [3, 3]])
>>> np.insert(a, 1, 5)
array([1, 5, 1, ..., 2, 3, 3])
>>> np.insert(a, 1, 5, axis=1)
array([[1, 5, 1],
       [2, 5, 2],
       [3, 5, 3]])

序列和标量之间的区别:

>>> np.insert(a, [1], [[1],[2],[3]], axis=1)
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
>>> np.array_equal(np.insert(a, 1, [1, 2, 3], axis=1),
...                np.insert(a, [1], [[1],[2],[3]], axis=1))
True
>>> b = a.flatten()
>>> b
array([1, 1, 2, 2, 3, 3])
>>> np.insert(b, [2, 2], [5, 6])
array([1, 1, 5, ..., 2, 3, 3])
>>> np.insert(b, slice(2, 4), [5, 6])
array([1, 1, 5, ..., 2, 3, 3])
>>> np.insert(b, [2, 2], [7.13, False]) # type casting
array([1, 1, 7, ..., 2, 3, 3])
>>> x = np.arange(8).reshape(2, 4)
>>> idx = (1, 3)
>>> np.insert(x, idx, 999, axis=1)
array([[  0, 999,   1,   2, 999,   3],
       [  4, 999,   5,   6, 999,   7]])

相关用法


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