python-3.x - 如何在熊猫中拆分复合词?
问题描述
我有并记录了由许多复合词(或有时是组合词)组成的:
文件.csv
index text
0 my first java code was helloworld
1 my cardoor is totally broken
2 I will buy a screwdriver to fix my bike
如上所示,一些单词是组合的或复合的,我从这里使用复合词拆分器来解决这个问题,但是,我很难将它应用到我文档的每一行(如熊猫系列)并将文档转换为干净的形式的:
清洁文档.csv
index text
0 my first java code was hello world
1 my car door is totally broken
2 I will buy a screw driver to fix my bike
(我知道螺丝刀之类的词应该在一起,但我的目标是清理文件)。如果您对仅拆分组合词有更好的想法,请告诉我。
拆分器代码可以作为:
import pandas as pd
import splitter ## This use enchant dict (pip install enchant requires)
data = pd.read_csv('document.csv.csv')
那么,它应该使用:
splitter.split(data) ## ???
我已经研究过这样的事情,但这在我的情况下不起作用。谢谢
解决方案
您使用 apply wit axis =1 :您可以尝试以下操作
data.apply(lambda x: splitter.split(j) for j in (x.split()), axis = 1)
我的系统上没有安装分离器。通过查看您提供的链接,我有以下代码。你能试一下吗:
def handle_list(m):
ret_lst = []
L = m['text'].split()
for wrd in L:
g = splitter.split(wrd)
if g :
ret_lst.extend(g)
else:
ret_lst.append(wrd)
return ret_lst
dft.apply(handle_list, axis = 1)
推荐阅读
- sql - 在 sql server 中为父记录插入正确的详细信息
- wordpress - 隐藏 URL / 屏蔽(Discord 邀请和 Wordpress)
- javascript - CSS Url 将图像显示为纯色
- c - C:如何使用信号(ctrl + \,ctrl + c)杀死一个子进程,就像在bash中一样
- sql - 如何在访问表中按客户添加小计(几个小计行)
- python - 用于聊天机器人回答的 Keras 多分类器
- java - Java返回通用类型问题:未经检查的覆盖返回类型需要未经检查的转换
- swift - 斯威夫特:readLine 超时
- python - 对pytorch中张量行的所有组合应用一个函数
- popup - 我可以在单元格中输入特定单词时创建弹出消息吗