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

如何移除DataFrame中阿拉伯语文本内的表情符号

移除DataFrame阿拉伯语文本中的表情符号方案

核心思路

通过正则表达式精准过滤表情符号,同时完整保留阿拉伯语字符、空格及常用标点,避免误删非英文内容。

实现步骤

  1. 导入依赖库
import pandas as pd
import re
  1. 创建测试DataFrame
data = {'text': ['يااا واجعوط هذا راه باغي يبدع فالسانكيام😭🤦‍♀️', 'أهلاً بالعالم!😀', 'كيف حالك؟🤔😎']}
df = pd.DataFrame(data)
  1. 定义清理函数(两种可选方案)

方案一:白名单模式(推荐)

只保留阿拉伯语字符、空格及常用标点,移除所有其他字符(含表情):

def remove_emojis(text):
    # 匹配阿拉伯语Unicode范围(\u0600-\u06FF)、空格、常用标点
    pattern = re.compile(r'[^\u0600-\u06FF\s!؟.]')
    return pattern.sub('', text)

方案二:黑名单模式

直接匹配所有表情符号的Unicode范围并移除:

def remove_emojis(text):
    emoji_pattern = re.compile("["
        u"\U0001F600-\U0001F64F"  # 表情符号
        u"\U0001F300-\U0001F5FF"  # 符号和象形文字
        u"\U0001F680-\U0001F6FF"  # 交通和地图符号
        u"\U0001F1E0-\U0001F1FF"  # 国旗
        u"\U00002500-\U00002BEF"  # 杂项符号
        u"\U00002702-\U000027B0"
        u"\U000024C2-\U0001F251"
        u"\U0001f926-\U0001f937"
        u"\U00010000-\U0010ffff"
        u"\u2640-\u2642" 
        u"\u2600-\u2B55"
        u"\u200d"
        u"\u23cf"
        u"\u23e9"
        u"\u231a"
        u"\ufe0f"
        u"\u3030"
                      "]+", flags=re.UNICODE)
    return emoji_pattern.sub('', text)
  1. 应用函数到DataFrame
df['cleaned_text'] = df['text'].apply(remove_emojis)
  1. 查看结果
print(df)

执行后输出的cleaned_text列即为移除表情后的阿拉伯语文本,示例输入对应的输出为:يااا واجعوط هذا راه باغي يبدع فالسانكيام

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 13:18:02