2024-04-27 02:51:25 发布
网友
我需要把一个数据帧转换成稀疏矩阵。数据框看起来与此类似:(实际数据太大(大约500000行和1000列))。你知道吗
我需要把它转换成一个矩阵,这样矩阵的行是'id',列是'names',应该只显示有限的值。不应显示nan(以减少内存使用)。当我尝试使用pd.pivot表,为我的大数据制作矩阵花了很长时间。你知道吗
在R中,有一个名为“dMcast”的方法用于此目的。我探索了一下,但在python中找不到替代方法。我对Python还不熟悉。你知道吗
首先,我将分类名称列转换为索引。也许熊猫已经有这个功能了?你知道吗
names = list('PQRSPSS') name_ids_map = {n:i for i, n in enumerate(set(names))} name_ids = [name_ids_map[n] for n in names]
然后我会使用scipy.sparse.coo,然后可能会将其转换为另一种稀疏格式。你知道吗
scipy.sparse.coo
ids = [1, 1, 1, 1, 2, 2, 3] rating = [2, 4, 1, 4, 2, 2, 1] sp = scipy.sparse.coo_matrix((rating, (ids, name_ids)) print(sp) sp.tocsc()
我不知道有一个稀疏矩阵库可以用'R', 'S" etc这样的分类数据索引维度
'R', 'S" etc
首先,我将分类名称列转换为索引。也许熊猫已经有这个功能了?你知道吗
然后我会使用
scipy.sparse.coo
,然后可能会将其转换为另一种稀疏格式。你知道吗我不知道有一个稀疏矩阵库可以用
'R', 'S" etc
这样的分类数据索引维度相关问题 更多 >
编程相关推荐