我希望在数据帧中获取一组字符串,然后将这些字符串分解,以获得字符串中不同单词的计数。最终的想法是:
单词1:5次
单词2:3次
单词3:10次
单词n:13次
最终目标是获取这组字符串,然后将分析扩展为2个单词、3个单词的分组,依此类推
我尝试过多个软件包,包括Pandas、re、collections等,但似乎没有什么能满足我的需要
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
三字组合:30
三字组合:40
等等
我感谢你的帮助
正如@Chris所提到的,来自
collections
库的Counter
对象将返回一个包含唯一单词的字典,以及它们的计数。所以你可以这样做:这不会返回组合计数,但使用re库的现有代码应该返回该计数
相关问题 更多 >
编程相关推荐