0

我有一个 Pandas 数据框,它由我需要使用正则表达式清理的电子邮件组成。但是,我清理列的尝试实际上并没有应用于文本。

示例数据如下:

|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)

但是,我得到了相同的结果,没有删除任何文本。

你能给我建议或指出正确的方向吗?

4

1 回答 1

0

文本清理的语法应该是:

data['description'] = data['description'].str.replace(r'www[a-z]+', '')
于 2017-12-08T04:14:54.290 回答