Я пытаюсь построить гистограмму X / Y на основе верхней 'n' частоты / ударных слов на основе местоположения с осью Y, являющейся wordCount
этих слов - НЕ вычисление частоты (tf_idf
)- предположим, что tf_idf
являются наиболее важными словами, и некоторые слова являются кодами, но все же важны. Примеры данных:
SITEID word wordCount wordTotal tf SiteID idf tf_idf
CAK hpci 328 187653 0.001 1 1.098 0.001920272
Используя следующую функцию (которую я не разработал, но полностью понимаю), я могу получить хороший график наиболее важных tf_idf
слов:
def pretty_plot_top_n(series, top_n=5, index_level=0):
r = series\
.groupby(level=index_level)\
.nlargest(top_n)\
.reset_index(level=index_level, drop=True)
r.plot.bar()
return r.to_frame()
pretty_plot_top_n(tf_idf['tf_idf'])
![enter image description here](https://i.stack.imgur.com/tZwWV.png)
Это изображение имеет идеальную ось X - я хочу SITEID
и word
. Теперь я хочу «наложить» слой так, чтобы ось Y была wordCount
для каждого из этих слов, а не tf_idf
.
Я пробовал несколько разных вещей, включая (но не ограничиваясь)тоже):
#plot without function
tf_idf.plot(x=['SITEID', 'tf_idf'], y='wordCount', kind="bar")
Настройка функций:
# second layer grouping by tf_idf
def pretty_plot_top_n(series, top_n=5, index_level=0, level2=7):
r = series\
.groupby(level=index_level)\
.groupby(level=level2)\
.nlargest(top_n)\
.reset_index(level=index_level, drop=True)
r.plot.bar()
return r.to_frame()
И многострочные (очевидно, почему не работает, но в некоторых случаях говорят)
pretty_plot_top_n(tf_idf['tf_idf'])
pretty_plot_top_n(tf_idf['wordCount'])
Мой вывод всегда заканчивается пустым ИЛИ я получаю слова на основе наибольшего wordCount
. Однако весь смысл вычисления tf_idf заключается в устранении стоп-слов.
![Incorrect because these words are not the ones I want](https://i.stack.imgur.com/isL5b.png)
Я не хочу, чтобы 'и' из. Я хочу мои слова сверху. Как я могу наложить это на слой, чтобы создать график, основанный сначала на tf_idf
, а затем нарисуйте ось Y как wordCount
для этих слов? Главное предпочтение - просто настроить мою существующую функцию.