Python中的干净文本数据

2024-10-01 13:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在删除所有数字(如189、98001)、特殊字符('、“、(,))和带有数字或特殊字符的字母(e21x16、e267、e4、e88889、entry778、id2、n27、pv3,)之后为文本数据创建一个新列(该列的每一行都是一个描述)。在

所以我写了下面的函数。但是,返回的结果仍然包含数字和特殊字符。基本上,我的目标是只保留英语单词和缩写。有人知道我的功能为什么不起作用吗。在

def standardize_text(df, text_field):
  df[text_field] = df[text_field].str.lower()
  df[text_field] = df[text_field].str.replace(r'(', '') 
  df[text_field] = df[text_field].str.replace(r')', '')
  df[text_field] = df[text_field].str.replace(r',', '')
  df[text_field] = df[text_field].str.replace(r'_', '')
  df[text_field] = df[text_field].str.replace(r"'", "")
  df[text_field] = df[text_field].str.replace(r"^[a-z]+\[0-9]+$", "")
  df[text_field] = df[text_field].str.replace(r"^[0-9]{1,2,3,4,5}$", "")
  return df

Tags: textfielddf字母数字replaceid2str
2条回答

使用名为“textcleaner”的库。请参见repositorylink。 这个article可能对你有帮助。在

!pip install textcleaner
import textcleaner as tc 

或者

^{pr2}$

现在打电话给main_cleaner(<FILE_NAME>) 它将返回所有基本预处理的单词列表。在

必须将replace函数的inplace参数设置为true,或者将返回的df赋给df变量

相关问题 更多 >