Задать вопрос
deeppsycoder
@deeppsycoder
клинический психолог

Как преобразовать разреженную матрицу в виде списка списков картежей в плотную матрицу?

Есть модель LDA из модуля gensim.models.ldamodel. Её метод get_document_topics(corpus) возвращает объект, который можно преобразовать в список списков картежей: [[(0, 0.09714252),
(1, 0.04680671), ..., где длина списка - это ось документов, а первое число картежа - ось тем, а второе - вероятность темы документа.

Хотелось бы преобразовать этот список в плотный numpy-массив. Есть ли готовые решения?

Пока делаю так (не люблю, когда в коде много циклов):
document_topics = pd.concat(
    [pd.Series(dict(doc)) for doc in lda.get_document_topics(corpus)],
    axis=1
    ).T.fillna(0).values

Подскажите, пожалуйста, более элегантное решение желательно в одну строчку.
  • Вопрос задан
  • 34 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы