Как вывести топ слов в pandas?

Ссылка скопирована
1 ответ

У меня есть датафрейм в пандас с информацией про такси, есть столбец с текстом в котором теги потипу: 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]

  • Спасибо
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Для того чтобы вывести топ слов в 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)

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) слов из текстовых данных, предварительно обработав их и подсчитав количество вхождений каждого слова. При необходимости можно настроить код под конкретные требования и данные.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно