正则表达式不适用于 Pandas 数据框
Regular Expressions not working with Pandas Dataframe
我有一个 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
运行 此代码在 iPython 笔记本中使用 Python 2.7 我希望正则表达式能够识别语句并将其替换为 space.
但是,当运行它时,描述的文本不会改变。
我尝试过的替代方法如下:
for i in data['description']:
re.sub(r'<(.*?)\>', '', i)
re.sub(r'www[a-z]+', '', i)
但是,我得到了相同的结果,none 的文本被删除了。
你能给我建议或指出正确的方向吗?
文本清理的语法应该是:
data['description'] = data['description'].str.replace(r'www[a-z]+', '')
我有一个 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
运行 此代码在 iPython 笔记本中使用 Python 2.7 我希望正则表达式能够识别语句并将其替换为 space.
但是,当运行它时,描述的文本不会改变。
我尝试过的替代方法如下:
for i in data['description']:
re.sub(r'<(.*?)\>', '', i)
re.sub(r'www[a-z]+', '', i)
但是,我得到了相同的结果,none 的文本被删除了。
你能给我建议或指出正确的方向吗?
文本清理的语法应该是:
data['description'] = data['description'].str.replace(r'www[a-z]+', '')