矩阵删除、插入、尾部添加操作(delete,insert,append)
numpy矩阵操作主要有delete()、insert()、append()等函数,分别执行删除、插入和添加的操作,注意append可以看为insert函数的特殊情况,即在尾部补充可以看为插入最后一行或列,这在后文会举例说明。

delete()函数

#numpy.delete(arr,obj,axis=None)

#axis 表明哪个维度的向量应该被移除

#axis 如果为None,则需要先将矩阵拉平,在删去第obj的元素

#obj 表明axis维度的哪一行(或列)应该被移除。

python在numpy array最前面加入一个元素 python numpy数组添加元素_数组

python在numpy array最前面加入一个元素 python numpy数组添加元素_python_02

insert()函数

#numpy.insert(arr,obj,value,axis=None)
#value 为插入的数值
#arr 为目标向量
#obj 为目标向量的axis维度的目标位置
#axis 为想要插入的维

python在numpy array最前面加入一个元素 python numpy数组添加元素_机器学习_03

python在numpy array最前面加入一个元素 python numpy数组添加元素_数组_04

 

append()函数

#numpy.append(arr,values,axis=None)
#将values插入到目标arr的最后,其中values与arr应该有相同维度,具体见例子

python在numpy array最前面加入一个元素 python numpy数组添加元素_python_05

python在numpy array最前面加入一个元素 python numpy数组添加元素_python_06

np.random.choice(a, size, replace, p)

其作用是按要求生成一个一维数组

a是生成一维数组的来源,可以是int类型,可以是数组,也可以是list

size 数组的维度replace 表示从a中是否不重复抽取,默认可重复 p 给出抽取概率,默认随机

注意 :这里是围绕数组展开的,如果提取的也是list,可以用 from random import choice 的 choice,可用 from random import sample 随机抽取一组元素

python在numpy array最前面加入一个元素 python numpy数组添加元素_numpy_07

python在numpy array最前面加入一个元素 python numpy数组添加元素_numpy_08

np.argmax(a, axis=None, out=None)

作用是返回轴的最大值的索引值
a:需要操作的数组或者矩阵,默认情况拉平成数组
axis:默认将a拉平,当axis=0对a按列取最大值索引,axis=1则对a按行取最大值索引
out:将结果写到a中

python在numpy array最前面加入一个元素 python numpy数组添加元素_python_09

拉平操作 ravel()和faltten()及reshape(1,-1)的区别联系(补充[None,:]操作)
都是对numpy矩阵进行拉平处理,区别在于flatten()返回的仅仅是copy值,而ravel()返回的是实际的值,有点返回地址的意思。而x.reshape(1,-1)表示把向量 x reshape成一个行向量,注意的它仍然保持x的维度。
另外,Numpy中的 一维向量 有个特殊的用法,将行或者列设置成None,用来将矩阵转换成行或者列。偶尔会看到np.newaxis,这与None用法一致。

python在numpy array最前面加入一个元素 python numpy数组添加元素_一维数组_10

np.prod() 计算元素乘积

默认计算矩阵所有元素的乘积,也可以通过axis计算指定轴的乘积

python在numpy array最前面加入一个元素 python numpy数组添加元素_一维数组_11

把矩阵大于或小于N的元素置M的技巧

技巧包括 maximum() 函数 、minimum() 函数,以及 矩阵操作的技巧

python在numpy array最前面加入一个元素 python numpy数组添加元素_numpy_12