Как вывести топ слов в pandas?
У меня есть датафрейм в пандас с информацией про такси, есть столбец с текстом в котором теги потипу: white;old;bmw.
Нужно вытащить топ самых частых и топ самых редких.
Дополнительно:
Гуглится элементарно, например, по запросу "pandas часто встречающиеся значения"
Ответы:
был подобный проект
import pandas as pd
from collections import Counter
# Загрузите свои данные
df = pd.read_excel('oba.xlsx')
# Извлеките навыки из столбца "описание вакансии"
skills = df['Описание вакансии'].str.split(';').sum()
# Подсчитайте частоту каждого навыка
counter = Counter(skills)
# Получите 10 самых востребованных навыков
most_demanded_skills = counter.most_common(10)
# Получите 10 самых невостребованных навыков
least_demanded_skills = counter.most_common()[:-11:-1]
- Спасибо
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы вывести топ слов в pandas, необходимо выполнить следующие шаги:
1. Подготовить данные: загрузить текстовый файл или скопировать данные в pandas DataFrame.
2. Провести предварительную обработку данных: удалить знаки препинания, привести все слова к нижнему регистру, удалить стоп-слова (если необходимо).
3. Разбить текст на отдельные слова или токены.
4. Подсчитать количество вхождений каждого слова с помощью метода value_counts().
5. Отсортировать полученные результаты в порядке убывания и вывести топ N слов.
Пример кода на Python с использованием pandas:
import pandas as pd import re # Пример текстовых данных data = {'text': ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.']} df = pd.DataFrame(data) # Предварительная обработка данных df['text'] = df['text'].str.lower() df['text'] = df['text'].apply(lambda x: re.sub(r'[^\w\s]', '', x)) # Разбиваем текст на слова words = ' '.join(df['text']).split() # Подсчитываем количество вхождений каждого слова word_counts = pd.Series(words).value_counts() # Выводим топ N слов top_n = 5 top_words = word_counts.head(top_n) print(top_words)
Этот код позволит вывести топ N (в данном примере - 5) слов из текстовых данных, предварительно обработав их и подсчитав количество вхождений каждого слова. При необходимости можно настроить код под конкретные требования и данные.