温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用pandas清洗文本

发布时间:2026-10-14 10:38:00 来源:亿速云 阅读:86 作者:小樊 栏目:编程语言

用 pandas 清洗文本 通常包括:去空格、去重、统一格式、替换字符、提取内容等。下面按常见场景给你一套实用方法。


一、基础准备

import pandas as pd

df = pd.DataFrame({
    'text': ['  Hello World ', 'hello world', 'Hello, World!', None, '  hello   world ']
})

二、常见文本清洗操作

1️⃣ 去除首尾空格

df['text'] = df['text'].str.strip()

2️⃣ 去除所有空格

df['text'] = df['text'].str.replace(' ', '', regex=False)

3️⃣ 统一大小写

df['text'] = df['text'].str.lower()  # 或 .str.upper()

4️⃣ 去除标点符号

import re
df['text'] = df['text'].str.replace(r'[^\w\s]', '', regex=True)

5️⃣ 替换指定字符

df['text'] = df['text'].str.replace('hello', 'hi', regex=False)

6️⃣ 处理缺失值

df['text'] = df['text'].fillna('')
# 或删除缺失
df = df.dropna(subset=['text'])

7️⃣ 去重

df = df.drop_duplicates(subset=['text'])

三、多个清洗步骤合并(推荐)

def clean_text(x):
    if not isinstance(x, str):
        return ''
    x = x.strip()
    x = x.lower()
    x = re.sub(r'[^\w\s]', '', x)
    x = re.sub(r'\s+', ' ', x)
    return x

df['text'] = df['text'].apply(clean_text)

四、提取文本中的信息

提取数字

df['num'] = df['text'].str.extract(r'(\d+)')

判断是否包含关键词

df['has_hello'] = df['text'].str.contains('hello')

五、进阶(NLP 前处理)

  • 分词:jieba.cut()
  • 去停用词
  • 正则清洗 HTML:
df['text'] = df['text'].str.replace(r'<.*?>', '', regex=True)

如果你有具体数据样例或清洗目标(比如日志、评论、Excel 表格),可以直接发出来,我可以帮你写完整清洗代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手