numpy.delete(arr, obj, axis=None)
arr:输入矩阵
obj:在什么位置处理
axis:这是一个可选参数,axis = None,1,0
axis=None:arr会先按行展开,然后按照obj,删除第obj-1(从0开始)位置的数,返回一个行矩阵。
axis = 0:按行删除
axis = 1:按列删除
import torch
import numpy as np
x = torch.from_numpy(np.arange(36).reshape((6, 6)))
print('tensor原型:', x)
print(np.delete(x, (20, 6))) # 删除6、20,并按行展开,平滑显示
print(np.delete(x, 1, 0)) # 按行删除,第一个维度,即删除第2行
print(np.delete(x, 1, 1)) # 按列删除,第一个维度,即删除第2列
代码运行结果:
tensor原型: tensor([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]])
tensor([ 0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35])
tensor([[ 0, 1, 2, 3, 4, 5],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]])
tensor([[ 0, 2, 3, 4, 5],
[ 6, 8, 9, 10, 11],
[12, 14, 15, 16, 17],
[18, 20, 21, 22, 23],
[24, 26, 27, 28, 29],
[30, 32, 33, 34, 35]])