如何在Pandas中移除字符串中的http://、https://或www.
Pandas移除URL列中的http/https/www前缀方法
需求说明
需要对Pandas DataFrame中名为URL的列做处理,移除所有开头的http://、https://或www.前缀(包括多个前缀叠加的情况,比如http://https://www.xxx),只保留核心域名部分。
示例输入:
http://www.jhu.edu http://www.brown.edu http://https://www.amherst.edu http://www.usc.edu
处理后预期输出:
jhu.edu brown.edu amherst.edu usc.edu
解决方案
使用Pandas的str.replace结合正则表达式,可以一次性处理所有前缀情况,包括多个前缀叠加的场景:
1. 构造示例数据
import pandas as pd data = { "URL": [ "http://www.jhu.edu", "http://www.brown.edu", "http://https://www.amherst.edu", "http://www.usc.edu" ] } df = pd.DataFrame(data)
2. 执行前缀移除操作
# 正则匹配开头的一个或多个目标前缀,替换为空字符串 df['URL'] = df['URL'].str.replace(r'^((http://|https://|www\.)+)', '', regex=True)
3. 查看处理结果
print(df['URL'])
输出结果:
0 jhu.edu 1 brown.edu 2 amherst.edu 3 usc.edu Name: URL, dtype: object
正则表达式说明
^:匹配字符串的起始位置,确保只替换开头的前缀(http://|https://|www\.)+:匹配一个或多个连续的目标前缀(+表示至少出现一次),覆盖了单个前缀、多个前缀叠加的情况- 替换为空字符串后,就只剩下核心域名部分
内容的提问来源于stack exchange,提问作者bananasplitty
相关产品推荐
相关产品推荐

