有没有办法解决python中的这个错误?

2024-03-29 08:30:22 发布

您现在位置:Python中文网/ 问答频道 /正文

sparse_ratings = csr_matrix(pd.DataFrame.sparse.from_spmatrix(most_rated_movies_1k).to_coo())

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-35-6002e81c5a88> in <module>
      1 # Conversion to sparse csr matrix
      2 
----> 3 sparse_ratings = csr_matrix(pd.DataFrame.sparse.from_spmatrix(most_rated_movies_1k).to_coo())

~\AppData\Roaming\Python\Python37\site-packages\pandas\core\arrays\sparse\accessor.py in from_spmatrix(cls, data, index, columns)
    230         from pandas import DataFrame
    231 
--> 232         data = data.tocsc()
    233         index, columns = cls._prep_index(data, index, columns)
    234         sparrays = [SparseArray.from_spmatrix(data[:, i]) for i in range(data.shape[1])]

~\AppData\Roaming\Python\Python37\site-packages\pandas\core\generic.py in __getattr__(self, name)
   5272             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5273                 return self[name]
-> 5274             return object.__getattribute__(self, name)
   5275 
   5276     def __setattr__(self, name: str, value) -> None:

AttributeError: 'DataFrame' object has no attribute 'tocsc'

当我运行此代码时,它会显示此错误。实际上,我正在movielens数据集上应用k均值聚类


Tags: columnstonameinfromselfmostdataframe
1条回答
网友
1楼 · 发布于 2024-03-29 08:30:22

根据pandas(1.1.x)的新版本,语法已更改:

sp_arr = csr_matrix(most_rated_movies_1k)
sdf = pd.DataFrame.sparse.from_spmatrix(sp_arr)
sparse_ratings = sdf.sparse.to_coo()

希望这对你有用

相关问题 更多 >