2024-04-25 16:05:16 发布
网友
我有一个sprase矩阵和一个数据帧。生成的csr_矩阵包含NAN。在
我的问题是如何将这些nan值更新为0。在
X_train_1hc = sp.sparse.hstack([X_train_1hc, X_train_df.values]).tocsr()
当我把X_train_1hc传递给分类器时,我得到错误输入包含NaN或无穷大,或者是一个对于dtype('float')来说太大的值
1.是否有一个选项/函数/黑客来替换稀疏矩阵中的nan值。 因此,这不是一个概念性的数据。在
扩展一下马丁的回答,这里有一个方法。假设您有一个csr_matrix和一些NaN值:
csr_matrix
NaN
>>> Asp.todense() matrix([[0.37512508, nan, 0.34919696, 0.10321203], [0.48744859, 0.07289436, 0.16881342, 0.57637166], [0.37742037, 0.01425494, 0.38536847, 0.23799655], [0.95520474, 0.97719059, nan, 0.22877082]])
由于csr_matrix将非零存储在the ^{} attribute中,因此需要操作该数组。将NaN和{}的所有出现替换为0和一些大数(事实上最大的一个可以表示),您可以这样做
或者,您可以手动替换NaN的,如下所示:
>>> Asp.data[np.isnan(Asp.data)] = 0.0 >>> Asp.todense() matrix([[0.37512508, 0. , 0.34919696, 0.10321203], [0.48744859, 0.07289436, 0.16881342, 0.57637166], [0.37742037, 0.01425494, 0.38536847, 0.23799655], [0.95520474, 0.97719059, 0. , 0.22877082]])
扩展一下马丁的回答,这里有一个方法。假设您有一个
csr_matrix
和一些NaN
值:由于} attribute 中,因此需要操作该数组。将}的所有出现替换为0和一些大数(事实上最大的一个可以表示),您可以这样做
^{pr2}$csr_matrix
将非零存储在the ^{NaN
和{或者,您可以手动替换
NaN
的,如下所示:相关问题 更多 >
编程相关推荐