Я хочу взять набор строк в кадре данных, а затем разбить эти строки, чтобы получить количество различных слов в строках. Конечная идея такова:
Слово 1: 5 раз
Слово 2: 3 раза
Слово 3: 10 раз
...
Слово n: 13 раз
Конечная цель - взять этот набор строк, а затем расширить анализ на группы из 2 слов, 3 слов и т. Д.
Я перепробовал несколько пакетов, в том числе Pandas, re, collection и т. Д., Но, похоже, ничто не привело меня туда, куда мне нужно.
import pandas as pd
import re
fPath = 'path\there'
fName = '\BuzzWords.xlsx'
importExcel = pd.read_excel(fPath+fName, sheetname = 'DATA')
importExcel.sort_index(inplace = True)
bWList = ['words','things']
pattern = '(?i)('+'|'.join(bWList)+')'
minerFrame = importExcel[0:0]
dFCounter = max(importExcel.index)
for i in range(0,dFCounter+1):
temp = importExcel[i:i+1]
checker = temp[temp['description'].str.contains(pattern)]
checker2 = checker.isnull().sum().sum()
if checker2 > 0:
minerFrame = minerFrame.append(temp)
minerFrame = minerFrame.reset_index(drop = True)
Этот код должен, в конечном итоге, привести к такому виду результата:
Слово 1: 10
Слово 2: 20
Слово 3: 14
...
Комбинация из 2 слов: 10
Комбинация из 2 слов: 15
...
Комбинация из 3 слов: 30
3-Word-Combo: 40
...
и т.д.
Я ценю вашу помощь!