我有一个Pandas Dataframe,它由我需要使用正则表达式清理的电子邮件组成。但是,我清理列的尝试实际上并没有应用到文本中。
示例数据如下:
|subeject | description |
---------------------------------------
|change email | 'Hi, I'm trying...|
|how are you? | 'Hi, how are... |
实际数据集大约有2500行。
我使用的示例代码是:
data = pd.read_csv('file.csv', names=['subject', 'description'])
data['description'] = data['description'].str.lower().str.split()
# Text cleaning below:
data['description'] = data['description'].replace(r'<(.*?)\>', '')
data['description'] = data['description'].replace(r'www[a-z]+', '')
... # more regex
使用Python 2.7在iPython笔记本中运行此代码我希望正则表达式能够识别语句并用空格替换它。
但是,在运行时,说明文字不会改变。
我尝试使用相同结果的替代方法如下:
for i in data['description']:
re.sub(r'<(.*?)\>', '', i)
re.sub(r'www[a-z]+', '', i)
但是,我得到了相同的结果,没有删除任何文本。
请您指点或指出我正确的方向?
答案 0 :(得分:0)
文本清理的语法应为:
data['description'] = data['description'].str.replace(r'www[a-z]+', '')