Python Условное выражение - PullRequest
0 голосов
/ 16 июня 2020

Допустим, у меня 3 столбца. Это «Слово», «Количество слов» и «Положительный результат». Колонка «Позитивные» категориальна по годам. Мне нужно найти наиболее часто встречающиеся слова из категории «Позитивные». Когда я использую этот код:

df.sort_values(by=['Positive', 'Word Count', 'Word'], ascending=False, axis=0).head(5)[['Word', 'Word Count', 'Positive']]

, он дает мне следующий результат:

Word            Word Count  Positive
BEST            2654899     2012
INNOVATIVENESS  541         2011
EFFECTIVE       16420419    2009
BENEFIT         9902500     2009
ABLE            4090099     2009

Как вы можете видеть, он учитывает годы до подсчета слов. Если я их поменяю, то получу самые частые слова в целом. Мое решение - подмножество столбца «Положительные», принимая во внимание только значения> = 0, а затем сортировать по количеству слов. Моя проблема в том, чтобы подмножество столбца Positive, не превращая его в логическое значение, а затем поместить его в свою функцию.

1 Ответ

0 голосов
/ 16 июня 2020

Я не могу легко привести пример без примера вашей структуры данных, но я думаю, что вы ищете комбинацию pd.groupby() для группировки всего по годам и pd.Series.mode, чтобы найти наиболее частое, или, возможно, .max(), если вы пытаетесь найти наибольшее число в столбце Word Count. Это может выглядеть примерно так:

df.groupby('Positive').max()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...