1. 矩阵和各种乘法问题
np.mat(a) 将a矩阵化 (或者np.matrix(a))
np.multiply() 数组/矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致
np.dot() 对于秩为1的数组,执行对应位置相乘,然后再相加;对于秩不为1的二维数组,执行矩阵乘法运算;
对于矩阵则直接进行矩阵乘积
星号(*)乘法运算 对数组执行对应位置相乘,对矩阵执行矩阵乘法运算,矩阵和数组相乘按矩阵乘法计算
@直接对数组/矩阵进行矩阵乘积运算
np.mean() 求所有元素的平均值
np.sum()求所有元素的和
————————————————————————————————————————————————
np.argmax(a, axis=None, out=None)
返回沿轴最大值的索引值
#axis = 0 ,表示以行为基准,比较在相同列上的元素的大小返回下标,(每列找一个,有多少列找多少个)
#axis = 1, 表示以列为基准,比较在相同行上的元素的大小返回下标,(每行找一个,有多少行找多少个)
a : array_like
数组
axis : int, 可选
默认情况下,索引的是平铺的数组,否则沿指定的轴。
out : array, 可选
如果提供,结果以合适的形状和类型被插入到此数组中。
————————————————————————————————————————————————
np.concatenate((a1, a2, ...), axis=0)
按轴axis连接array组成一个新的array
————————————————————————————————————————————————————————————
np.power(x,num)
计算x的num次幂
不可以计算整数的负整数次幂,当x为整数时,num需要写为小数形式
————————————————————————————————————————————————————————————
np.random.choice(a, size=None, replace=True, p=None)
如果a是ndarray数组,随机样本在该数组获取(取数据元素)
————————————————————————————————————————————————————
numpy.insert(arr,obj,value,axis=None)
同理,value为插入的数值
arr:为目标向量
obj:为目标位置
value:为想要插入的数值
axis:为插入的维度
————————————————————————————————————————————————————————————
numpy.meshgrid(x,y)——生成网格点坐标矩阵(输入的x,y,就是网格点的横纵坐标列向量(非矩阵)输出的X,Y,就是坐标 矩阵。)
(在输入的x,y值把所有的线连起来就成了网状格 ,输出的X每列数各自相同,Y每行各自相同)
————————————————————————————————————————————————————————————
numpy.ravel() numpy.flatten()
两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。
————————————————————————————————————————————————————————————
np.random.randint(low,high, size)
ow、high、size三个参数。默认high是None,如果只有low,那范围就是[0,low)。如果有high,范围就是[low,high)。size表示最后返回的数据的结构大小
————————————————————————————————————————————————————————————
np.unique()
对于一维列表或数组A:
a, s,p = np.unique(A, return_index=True, return_inverse=True)
nique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表a
return_index=True表示返回新列表元素在旧列表中的位置,并以列表形式储存在s中。
return_inverse=True 表示返回旧列表元素在新列表中的位置,并以列表形式储存在p中
对于二维数组(“darray数字类型”):
A = np.array(A) #列表类型需转为数组类型
a, s, p = np.unique(A.view(A.dtype.descr * A.shape[1]), return_index=True, return_inverse=True)
这里面最小单位就是一个维(也就是一行)的数据,而不是一个单独的数据了