Сначала я преобразую столбец категориальных имен в индексы.Может быть, у панд уже есть эта функциональность?
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
, а затем, возможно, преобразовал бы это в другой разреженный формат.
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