如何使用Python Pandas去除数据框列中字符串的末尾多余字符
问题场景
现有如下DataFrame:
| Initial |
|---|
| M.H.. |
| T.H. |
需要将末尾多余的点移除,将M.H..修正为M.H.格式。
解决方案
可以通过以下两种常用方式实现:
- 方式1:正则匹配替换(适配末尾任意个数多余点的场景)
使用pandas字符串的str.replace方法,搭配正则匹配所有末尾连续的点,统一替换为单个点:
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({'Initial': ['M.H..', 'T.H.']}) # 执行替换 df['Initial'] = df['Initial'].str.replace(r'\.+$', '.', regex=True)
正则说明:\.匹配点字符,+表示匹配1次及以上,$限定匹配位置为字符串末尾。
- 方式2:移除所有末尾点后补单个点(逻辑更简单直观)
先去掉字符串末尾所有的点,再统一补充一个点,同样可以实现需求:
df['Initial'] = df['Initial'].str.rstrip('.') + '.'
两种方式执行后得到的结果一致:
| Initial |
|---|
| M.H. |
| T.H. |
内容的提问来源于stack exchange,提问作者Monkey D
相关产品推荐
相关产品推荐

