python - 删除python中的废话
问题描述
我想在我的数据集中删除无意义的词。
我试过了,我看到 StackOverflow 是这样的:
import nltk
words = set(nltk.corpus.words.words())
sent = "Io andiamo to the beach with my amico."
" ".join(w for w in nltk.wordpunct_tokenize(sent) \
if w.lower() in words or not w.isalpha())
但是现在因为我有一个数据框,我如何在整个列中迭代它。
我试过这样的事情:
import nltk
words = set(nltk.corpus.words.words())
sent = df['Chats']
df['Chats'] = df['Chats'].apply(lambda w:" ".join(w for w in
nltk.wordpunct_tokenize(sent) \
if w.lower() in words or not w.isalpha()))
但我收到一个错误 TypeError: expected string or bytes-like object
解决方案
类似以下内容将生成一个列Clean
,将您的函数应用于该列Chats
words = set(nltk.corpus.words.words())
def clean_sent(sent):
return " ".join(w for w in nltk.wordpunct_tokenize(sent) \
if w.lower() in words or not w.isalpha())
df['Clean'] = df['Chats'].apply(clean_sent)
要更新Chats
列本身,您可以使用原始列覆盖它:
df['Chats'] = df['Chats'].apply(clean_sent)
推荐阅读
- mongodb - 如何将 Mongo 变量的结果重定向到集合,然后将其导出到 csv 文件
- java - 使用相同的镜像名称更新 kubernetes 部署
- html - 按下按钮后如何更改按钮颜色?
- mysql - 如何使 MySQL MATCH...AGAINST 使用各种单词分隔符?
- java - 如何使用 java 代码突出显示 Android 中的按钮?
- python - vgg = tf.keras.applications.vgg19.VGG19 不确定模型是否正确加载
- react-native - 如何测试使用 react-i18next 的 react-native 组件?
- ios - 用于插入新对象的 CoreData 语法
- sql - 如何使用子组合对许多单独的表进行有效组合
- python - Python tweepy:仅在机器人启动后发推文