1、numpy.delete(arr,obj,axis=None)
arr:输入向量
obj:表明哪一个子向量应该被移除。可以为整数或一个int型的向量
axis:表明删除哪个轴的子向量,若默认,则返回一个被拉平的向量
a = np.array(np.arange(12).reshape(3, 4))
print(a) #[[ 0 1 2 3]
#[ 4 5 6 7]
#[ 8 9 10 11]]
print(np.delete(a,1,0)) #删除第一行数据
#[[ 0 1 2 3]
#[ 8 9 10 11]]
print(np.delete(a,1,1)) #删除第一列数据
#[[ 0 2 3]
#[ 4 6 7]
#[ 8 10 11]]
print(np.delete(a,[0,1],1)) #删除0和1列数据
#[[ 2 3]
#[ 6 7]
#[10 11]]
- 注:
numpy.s_[::2]
表示选取奇数。
2、numpy.insert(arr,obj,value,axis=None)
arr:为目标向量
obj:为目标位置
value:为想要插入的数值
axis:为插入的维度
a = np.array(np.arange(12).reshape(3, 4))
print(a) #[[ 0 1 2 3]
#[ 4 5 6 7]
#[ 8 9 10 11]]
print(np.insert(a, 1, [1, 1, 1, 1], 0)) #第一行添加数组[1 ,1 ,1 ,1]
#[[0 1 2 3]
#[1 1 1 1]
#[4 5 6 7]
#[8 9 10 11]]
详情参考:https://docs.scipy.org/doc/numpy1.10.0/reference/generated/numpy.insert.html
3、numpu.append(arr,values,axis=None)
将values插入到目标arr的最后。
注意,这里values跟arr应该为相同维度的向量,例如,如下第一个为错误情况
正确形式为
a = np.array(np.arange(12).reshape(3, 4))
print(a) #[[ 0 1 2 3]
#[ 4 5 6 7]
#[ 8 9 10 11]]
print(np.append(a, [[1, 1, 1, 1]], axis=0))
#[[0 1 2 3]
#[4 5 6 7]
#[8 9 10 11]]
#[ 1 1 1 1]]