You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中清理表情符号、@标签及URL?求助数据清洗异常

Pandas文本数据清洗问题解决

1. 移除表情符号

你之前的代码出错是因为正则表达式写法错误,[시x00-Ix7F]是无效的匹配规则,且逻辑方向不对。要移除表情符号,可按需求选两种方式:

  • 保留基本ASCII字符(移除所有非ASCII的表情/特殊字符):
df['message'] = df['message'].str.replace(r'[^\x00-\x7F]+', '', regex=True)
  • 精准匹配Unicode表情范围(只移除表情,保留其他非ASCII文本):
# 覆盖常见表情符号的Unicode范围
df['message'] = df['message'].str.replace(r'[\U0001F600-\U0001F64F\U0001F300-\U0001F5FF\U0001F680-\U0001F6FF\U0001F1E0-\U0001F1FF]+', '', regex=True)

2. 移除@格式标签

直接匹配@开头的连续非空白字符,替换为空即可:

df['message'] = df['message'].str.replace(r'@\S+', '', regex=True)

如果@标签包含空格(比如@张三 你好),可调整正则为r'@.*?(?=\s|$)',匹配到下一个空格或文本结尾。

3. 移除URL

匹配HTTP/HTTPS开头的链接,替换为空:

df['message'] = df['message'].str.replace(r'https?://\S+', '', regex=True)

若要覆盖更多链接格式(比如不带协议的www.xxx.com),可用更全面的正则:

df['message'] = df['message'].str.replace(r'(https?://|www\.)\S+', '', regex=True)

内容的提问来源于stack exchange,提问作者Micheal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:32:17