如何使用POS标记从另一列使用Pandas的单词?在
例如,我有:
col1 col2
aaa1 AAa1 is a great friend
abb2 abb2 is a very good friend
我想输出:
^{pr2}$我试着:
from nltk import pos_tag
columns = ['col1', 'col2']
data = pd.read_csv('data.csv', delimiter='\t', names=columns)
data["col2"] = data.apply(lambda x: x["col1"].replace(x["col1"], pos_tag([x["col2"], x["col1"]])[1][1]), axis=1)
但它不起作用,不要忽视案例信。 我的col1只有小写,col2有小写和大写的单词。如何应用re子模块? 我想把它用于每一行(大约400万行)
编辑: 如果我尝试使用:
data["col2"] = data.apply(lambda x: re.sub(x["col1"], pos_tag([x["col1"].lower(), x["col1"].lower()]), x["col2"], flags=re.I), axis=1)
它不起作用。因为我想输出的是原大小写字母。这是我的目标问题->;我想将字符串替换为NNP和NN作为SVM分类器。在
你知道怎么做吗?在
一个简单的函数就可以完成这个任务。你可以这样做:
更新的解决方案:
此解决方案适合于用POS标记替换任何位置的字符串。在
^{pr2}$相关问题 更多 >
编程相关推荐