Joe*_*ith 2 python python-3.x pandas
我有一个小数据框,正在尝试从“链接”列中的字符串末尾删除 url。我尝试了以下代码,它适用于 url 独立的列。问题是,只要在 url 之前有句子,代码就不会删除这些 url
这是数据:https : //docs.google.com/spreadsheets/d/10LV8BHgofXKTwG-MqRraj0YWez-1vcwzzTJpRhdWgew/edit?usp=sharing(电子表格链接)
import pandas as pd
df = pd.read_csv('TestData.csv')
df['Links'] = df['Links'].replace(to_replace=r'^https?:\/\/.*[\r\n]*',value='',regex=True)
df.head()
Run Code Online (Sandbox Code Playgroud)
谢谢!
尝试更干净的正则表达式:
df['example'] = df['example'].replace(r'http\S+', '', regex=True).replace(r'www\S+', '', regex=True)
Run Code Online (Sandbox Code Playgroud)
在 pandas.replace()或其他任何地方实现正则表达式之前,您应该使用re.sub()单个基本字符串示例来测试模式。当遇到一个大问题时,将其分解为一个较小的问题。
此外,我们可以使用 str.replace 方法:
df['status_message'] = df['status_message'].str.replace('http\S+|www.\S+', '', case=False)
Run Code Online (Sandbox Code Playgroud)
尝试这个:
import re
df['cleanLinks'] = df['Links'].apply(lambda x: re.split('https:\/\/.*', str(x))[0])
Run Code Online (Sandbox Code Playgroud)
输出:
df['cleanLinks']
cleanLinks
0 random words to see if it works now
1 more stuff that doesn't mean anything
2 one last try please work
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7425 次 |
| 最近记录: |