|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 维e 于 2020-5-28 07:49 编辑
我刚刚学着用python做情感分析,跟着一位老师学敲的机械压缩去词的代码,代码没有报错,但也没有成功去掉重复词,搞了半天也没搞懂,请高人帮忙看看,我把前后代码都贴上。分析的数据是从cvs导入的某商品评论内容。
- data = pd.DataFrame(data['内容'].unique())
- def cutword(strs, reverse=False):
- s1 = []#存一个字符
- s2 = []#存第二个字符
- s = []#存最终结果
- if reverse:
- strs = strs[::-1]
- s1.append(strs[0])
- for i in strs[1:]:
- if i ==s1[0]:
- if len(s2)==0:
- s2.append(i)
- else:
- if s1 == s2:
- s2 = []
- s2.append(i)
- else:
- s = s+s1+s2
- s1 = []
- s2 = []
- s1.append(i)
- else:
- if s1 == s2 and len(s1)>=2 and len(s2)>=2:
- s = s + s1
- s1 = []
- s2 = []
- s1.append(i)
- else:
- if len(s2)==0:
- s1.append(i)
- else:
- s2.append(i)
- if s1 == s2:
- s = s + s1
- else:
- s = s + s1 + s2
- if reverse :
- return ''.join(s[::-1])
- else:
- return ''.join(s)
- #机械压缩去词
- #用aplly免用for循环
- data2 = data.iloc[:,0].apply(cutword)
- data2 = data2.apply(cutword, reverse = True)
- print('机械压缩去词后:')
- print(len(data2))
- print(type(data2))
- print('---------------')
复制代码 |
|