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

pandas数据集清洗:删除非阿拉伯语内容及符号,解决清洗不生效问题

你之前的代码没有达到预期效果,核心原因是你只做了内容替换,没有把替换后完全为空的行过滤掉,同时多轮replace规则容易出现遗漏或者冲突。直接通过阿拉伯语的Unicode编码范围匹配提取内容,是最简单高效的方案,完全符合你的需求。

阿拉伯语的主Unicode范围是\u0600-\u06FF,补充字符范围是\u0750-\u077F,我们直接匹配这个区间的字符即可,具体实现代码如下:

import pandas as pd
import re

# 读取原始数据集
lexicon = pd.read_csv(r"C:\Users\User\Python Code\data.csv")

# 编译阿拉伯语匹配正则,同时保留词间空格
arabic_re = re.compile(r'[\u0600-\u06FF\u0750-\u077F\s]+')

# 提取每行中的阿拉伯语内容,自动剔除所有其他语言、符号、特殊标记
def get_arabic_only(text):
    # 匹配所有阿拉伯语片段,拼接后去除首尾多余空格
    arabic_part = ''.join(arabic_re.findall(str(text))).strip()
    return arabic_part

lexicon['clean_tweet'] = lexicon['Vocabulary'].apply(get_arabic_only)

# 过滤掉完全没有阿拉伯语内容的空行,仅保留有阿拉伯语的条目
lexicon = lexicon[lexicon['clean_tweet'] != ''].reset_index(drop=True)

# 输出清洗后的结果
print(lexicon.head(10))

这个方法的处理逻辑完全匹配你的要求:

  • 如果一行只有符号、英文、特殊标记(比如[PAD]、!、#这类),提取后结果为空,会被直接删掉
  • 如果一行同时包含阿拉伯语和其他内容,只会保留阿拉伯语部分,其他内容全部自动删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 05:45:04