Добавить / объединить Dataframe с выходом LDA - PullRequest
1 голос
/ 18 января 2020

Я работаю над моделью LDA, используя Gensim и spacy.

В общем:

ldamodel = Lda(doc_term_matrix, num_topics=4, random_state = 100, update_every=3, chunksize = 50, id2word = dictionary, passes=100, alpha='auto')
ldamodel.print_topics(num_topics=4, num_words=6)

Я нахожусь в точке, где у меня есть какой-то вывод, и я хотел бы добавить свой оригинальный Dataframe (из которого пришел текст) с темами и процентный вклад для каждого документа.

Оригинальный df выглядит следующим образом

id  group text
234 1     here is some text
837 7     here is some text
494 2     here is some text
223 1     here is some text

Я делаю некоторую стандартную предварительную обработку, включая лемматизацию, удаление стоп-слов и т. д. c. и затем вычислите процентные вклады для каждого документа.

мой вывод выглядит следующим образом

   Document_No  Dominant_Topic  ...                                           Keywords Text
0            0             1.0  ...  RT, new, work, amp, year, today, people, look,...    0
1            1             0.0  ...  like, time, good, know, day, find, research, a...    1
2            2             1.0  ...  RT, new, work, amp, year, today, people, look,...    2
3            3             3.0  ...  study, t, change, use, want, Trump, love, stud...    3
4            4             3.0  ...  study, t, change, use, want, Trump, love, stud...    4

Я подумал, что мог бы просто объединить 2 dfs вместе, как показано ниже:

results = pd.concat([df, results])

, но когда я это делаю, индексы не совпадают, и у меня остается что-то вроде Франкенштейна, которое выглядит так:

id  group text                Document_No  Dominant_Topic  ...                                           
NaN NaN   NaN                 0            1.0             ...
NaN NaN   NaN                 1            0.0             ...
494 2     here is some text   NaN          NaN             ...
223 1     here is some text   NaN          NaN             ...

Рад опубликовать более полный код, если это будет полезно, но я Я надеюсь, что кто-то просто знает лучший способ сделать это с той же точки, что и я мог бы печатать темы.

...