[英]remove a list of string from a column of list of strings
很难描述这个问题,但现在我有一个带有标记字符串的 dataframe,我想从中删除最常见的单词。 所以我得到了最常用单词的列表并得到了尾巴。 但我不知道如何使用此列表从主列中删除单词:
专栏是这样的:
df['标记化']
{'dog', 'cat', 'fish'} {'car', 'dog', 'water'} {'blue', 'red', 'green'}
每行都是一个字符串列表
如果我要删除的单词列表是 {'dog', 'cat'}
所需的 output 是:
df['标记化']
{'鱼'}
{'汽车','水'}
{'蓝色','红色','绿色'}
有什么帮助吗?
你可以这样做:
tokenized=[['dog', 'cat' , 'fish'], ['car', 'dog', 'water'], ['blue', 'red', 'green']]
most_common_words = ['cat','dog']
for l in tokenized:
for w in most_common_words:
try:
l.remove(w)
except ValueError: pass
print(tokenized)
# output:
# [['fish'], ['car', 'water'], ['blue', 'red', 'green']]
试试这个:
mcw = {'dog', 'cat'}
df['tokenized'] = df['tokenized'].apply(
lambda lst: [word for word in lst if word not in mcw]
)
您应该为最常见的单词使用集合,而不是列表(因为检查元素是否属于集合要快得多)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.