python中的insert函数_Python numpy.insert函数方法的使用

numpy.insert

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

沿给定轴在给定索引之前插入值。参数 :arr :array_like

输入数组。

obj :int, slice 或 int的sequence

定义在其之前插入值的一个或多个索引的对象。

1.8.0版中的新功能。

当obj是单个标量或具有一个元素的序列时,

支持多次插入(类似于多次调用insert)。

values :array_like

要插入到arr中的值。 如果值的类型与arr的类型不同,

则将值转换为arr的类型。

值的形状应使arr [...,obj,...] = values合法。

axis :int, 可选

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

返回值 :out :ndarray

插入了值的arr副本。 请注意,insert不会就地发生:

返回一个新数组。 如果axis为None,则out是一个扁平数组。

Notes

请注意,对于高维插入,obj = 0的行为与obj = [0]的行为非常不同,就像arr [:,0,:] = values 与arr [:,[0],:] = values是不同的一样。

例子>>> 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]])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>