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

如何清理Pandas DataFrame中的无效字符及冗余内容?

Pandas DataFrame文本清理方案

解决步骤

你需要同时处理字符串前缀截取和编码乱码清理两个问题,以下是可行的代码实现:

import pandas as pd
import re

# 第一步:移除text列前3个字符(和你已经尝试的逻辑一致)
df['text'] = df['text'].str[3:]

# 第二步:修复编码错误导致的乱码
# 这类乱码通常是UTF-8字符被错误用Latin-1解码造成的,通过转码还原
df['text'] = df['text'].apply(lambda x: x.encode('latin-1').decode('utf-8') if isinstance(x, str) else x)

# 第三步:清除所有非可打印的无效ASCII字符
df['text'] = df['text'].apply(lambda x: re.sub(r'[^\x20-\x7E]', '', x) if isinstance(x, str) else x)

# 可选:把智能引号’替换成普通单引号',完全匹配你给出的期望输出
df['text'] = df['text'].str.replace('’', "'")

处理后结果

page_no                                         text
22                   'How often should you calibrate?The question isnt whether to calibrate, its how often to?
32                    "Document(s):5128A RHapid-Cal Humidity Generator Brochure 
75                   "(4.32 MB)5128A

关键说明

  • 编码修复:ラピドã这类乱码是典型的编码不匹配问题,转码操作能还原原本的有效字符,无效字符会在后续正则步骤中被清除。
  • 正则清理:[^\x20-\x7E]匹配所有不在ASCII可打印范围内的字符(从空格到波浪号),确保只保留正常可读的文本内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:34:58