vik*_*kky 13 python string replace pandas
code: df['review'].head()
index review
output: 0 These flannel wipes are OK, but in my opinion
Run Code Online (Sandbox Code Playgroud)
我想从数据框的列中删除标点符号并创建一个新列.
code: import string
def remove_punctuations(text):
return text.translate(None,string.punctuation)
df["new_column"] = df['review'].apply(remove_punctuations)
Error:
return text.translate(None,string.punctuation)
AttributeError: 'float' object has no attribute 'translate'
Run Code Online (Sandbox Code Playgroud)
我正在使用python 2.7.任何的意见都将会有帮助.
Bob*_*ner 25
使用Pandas str.replace和regex:
df["new_column"] = df['review'].str.replace('[^\w\s]','')
Run Code Online (Sandbox Code Playgroud)
Dav*_*d C 11
您可以使用string模块的标点符号列表构建正则表达式:
df['review'].str.replace('[{}]'.format(string.punctuation), '')
Run Code Online (Sandbox Code Playgroud)
小智 8
我通过循环遍历 string.punctuation 解决了这个问题
def remove_punctuations(text):
for punctuation in string.punctuation:
text = text.replace(punctuation, '')
return text
Run Code Online (Sandbox Code Playgroud)
您可以按照相同的方式调用该函数,它应该可以工作。
df["new_column"] = df['review'].apply(remove_punctuations)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20952 次 |
| 最近记录: |