参数
——————————————————————
spmatrix:稀疏矩阵
accept_sparse:string, string列表或者None。String[s]代表允许的稀疏矩阵格式,例如‘csc','csr'等。None代表若输入为稀疏矩阵则报错。如果输入为稀疏矩阵其格式不在accept_sparse中,此时默认将其格式转化为格式列表中的第一种格式。
dtype:string,type 或者None(default = none)。结果的数据类型。若为None,输入的数据类型被保留。
order:'F', 'C', 或者None(default)。 将数组转化为fortran或者c风格。
copy: boolean (默认为False)。
force_all_finite : boolean(默认为True)。 X中出现np.inf和np.nan时是否报错。
返回值
——————————————————————
spmatrix_converted : 已经转化为相应类型的矩阵。
流程
——————————————————————
1、若accept_sparse为None,报错。
2、获取spmatrix的压缩格式赋予sparse_type。
3、若dtype为None,则保留原类型,即spmatrix.dtype赋予dtype。
4、若sparse_type在accept_sparse中,无需转化type:
若dtype与spmatrix.dtype相同则无需转化dtype:
若 copy为真,则复制矩阵。
若不同,则转化spmatrix的dtype。
5.若不在accept_sparse中,则转化压缩方式和dtype。
6、若 force_all_finite为真,
判断是否有data属性,若没有则报错。若有则执行_assert_all_finite()检查。
7、若spmatrix具有data属性,则根据剩余要求转化spmatrix。
8、返回spmatrix。