CodeCollection2018
4/21/2019 - 2:05 AM

numpy库函数

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。