numpy相关函数
np.nonzero() //返回矩阵中非0元素的索引,返回两个数组,第一个数组包含矩阵非0元素按从左到右从上到下在行上的索引,第二个数组包含矩阵非0元素按从左到右从上到下在列上的索引
mp.argsort(x) //返回数组中值按照升序排列的索引数组
np.argsort(-x) //返回数组中值按照降序排列的索引数组
np.fill_diagonal(x,value) //将矩阵对角线全都赋值为value
np.multiply(x,y) //矩阵逐元素相乘,直接使用"*"也可以,而x.dot(y)则是矩阵乘法需要x的列数等于y的行数
np.intersect1d(x,y) //求两个数组的交集
np.where() //找到矩阵中满足给定条件的元素的索引
np.empty_like() np.zeros_like() np.ones_like()
[::-1]倒序排列
np.bincount() //查找数组中不同值元素的个数即出现的次数,返回的数组长度是原数组中最大值+1,因为返回的数组的索引代表原数组中的值
numpy.save(file_path,array)是保存成为未经压缩的二进制格式,而且只能保存一个数组,文件后缀名npy。numpy.savez(file,**args)是将多个数组以压缩形式保存到一个后缀名为npz的文件中,例如:
np.savez(file,data=d_arr,row=row_arr,col=col_arr)
加载时:
test_z = np.load(file)
test_matrix = scipy.sparse.coo_matrix(test_z['data'],(test_z['row'],test_z['col']))
尽量使用numpy.ndarray而非numpy.matrix,因为很多包括sklearn中用于特征工程或数据处理的方法fit_transform()的传参限定为numpy ndarray而不能是matrix。
np.flat(A)将A展平成为一个list
np.diagonal(a,offset,axis1,axis2)求出矩阵指定的偏移量的对角线元素
a.diagonal()得到矩阵a的对角线上的元素
np.diag(a,k)将a数组转化为对角矩阵,a的元素在第k位置对角线上。
np.delete(arr,obj,axis)删除数组arr中obj指定的行或列或元素,有axis指定维度
np.insert(arr,obj,values,axis)在arr中沿着axis在obj位置插入values
np.append(arr,obj,axis)将arr数组中沿着axis轴删除obj行或列或数值
np.all(arr,axis=None,out,keep_dims)按照axis检测所有的行或列中值是否都是True,axis=0是一列一列的检测,axis=1是一行一行的检测
np.any(arr,axis=None)按照axis检测是否该行或列内有个True,有一个就返回True。