maxframe.tensor.insert#
- maxframe.tensor.insert(arr, obj, values, axis=None)[源代码]#
在给定轴上,于指定索引之前插入值。
- 参数:
- 返回:
out -- 插入 values 后 arr 的副本。注意 insert 操作不会就地进行:会返回一个新数组。如果 axis 为 None,out 是一个展平的数组。
- 返回类型:
ndarray
参见
append在数组末尾追加元素。
concatenate沿现有轴连接数组序列。
delete从数组中删除元素。
备注
注意,在高维插入中,obj=0 和 obj=[0] 行为完全不同,就像 arr[:,0,:] = values 与 arr[:,[0],:] = values 是不同的一样。
示例
>>> import maxframe.tensor as mt >>> a = mt.array([[1, 1], [2, 2], [3, 3]]) >>> a.execute() array([[1, 1], [2, 2], [3, 3]]) >>> mt.insert(a, 1, 5).execute() array([1, 5, 1, ..., 2, 3, 3]) >>> mt.insert(a, 1, 5, axis=1).execute() array([[1, 5, 1], [2, 5, 2], [3, 5, 3]]) Difference between sequence and scalars: >>> mt.insert(a, [1], [[1],[2],[3]], axis=1).execute() array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) >>> b = a.flatten() >>> b.execute() array([1, 1, 2, 2, 3, 3]) >>> mt.insert(b, [2, 2], [5, 6]).execute() array([1, 1, 5, ..., 2, 3, 3]) >>> mt.insert(b, slice(2, 4), [5, 6]).execute() array([1, 1, 5, ..., 2, 3, 3]) >>> mt.insert(b, [2, 2], [7.13, False]).execute() # type casting array([1, 1, 7, ..., 2, 3, 3]) >>> x = mt.arange(8).reshape(2, 4) >>> idx = (1, 3) >>> mt.insert(x, idx, 999, axis=1).execute() array([[ 0, 999, 1, 2, 999, 3], [ 4, 999, 5, 6, 999, 7]])