用 pandas 清洗文本 通常包括:去空格、去重、统一格式、替换字符、提取内容等。下面按常见场景给你一套实用方法。
import pandas as pd
df = pd.DataFrame({
'text': [' Hello World ', 'hello world', 'Hello, World!', None, ' hello world ']
})
df['text'] = df['text'].str.strip()
df['text'] = df['text'].str.replace(' ', '', regex=False)
df['text'] = df['text'].str.lower() # 或 .str.upper()
import re
df['text'] = df['text'].str.replace(r'[^\w\s]', '', regex=True)
df['text'] = df['text'].str.replace('hello', 'hi', regex=False)
df['text'] = df['text'].fillna('')
# 或删除缺失
df = df.dropna(subset=['text'])
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')
jieba.cut()df['text'] = df['text'].str.replace(r'<.*?>', '', regex=True)
如果你有具体数据样例或清洗目标(比如日志、评论、Excel 表格),可以直接发出来,我可以帮你写完整清洗代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。