首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将isalpha应用于列表

将isalpha应用于列表
EN

Stack Overflow用户
提问于 2020-04-10 23:08:48
回答 1查看 110关注 0票数 0

我是python的新手。我有一个NLP项目,需要从我的关键字删除频率。我在列表中的一行上成功地做到了这一点。

因此输入: tokens= 'fibre','16',';','quoi','1',';','dangers','1',

使用

代码语言:javascript
复制
tokens = [word for word in tokens if word.isalpha()

输出是这个'fibre','quoi','dangers',

现在,我想将其应用于整个专栏。这就是我所拥有的:

代码语言:javascript
复制
from nltk import word_tokenize,sent_tokenize
tokens = cleaningkey.apply(word_tokenize)
tokens.head(5)

输出:

代码语言:javascript
复制
0    [fibre, 16, ;, quoi, 1, ;, dangers, 1, ;, comb...
1               [restaurant, 1, ;, marrakech.shtml, 1]
2    [payer, 1, ;, faq, 1, ;, taxe, 1, ;, habitatio...
3    [rigaud, 3, ;, laurent, 3, ;, photo, 11, ;, pr...
4    [societe, 1, ;, disparition, 1, ;, proche, 1, ...
Name: text_norm, dtype: object

我尝试了不同的方法,但还是得到了(list‘对象没有’isalpha‘属性)。有人能告诉我该怎么做吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-04-10 23:34:43

您应该将测试函数应用于列表的每一项:

代码语言:javascript
复制
cleaningkey.apply(lambda lst: [word for word in lst if word.isalpha()])
#0    [fibre, quoi, dangers]
#1              [restaurant]

或者:

代码语言:javascript
复制
df.cleaningkey.apply(lambda lst: list(filter(str.isalpha, lst)))
#0    [fibre, quoi, dangers]
#1              [restaurant]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61143185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档