Python Pandas 编辑多行数据:移除Player列姓名后的\initials后缀
Pandas批量清洗Player列的实现方法
核心目标是剔除Player列单元格中反斜杠后附带的编号串,仅保留反斜杠前的球员姓名,可通过以下步骤直接实现:
操作步骤
- 导入依赖并加载你的数据源
import pandas as pd # 替换为你实际的数据源路径,支持csv、excel等Pandas可读取的存储格式 df = pd.read_excel("你的球员数据文件.xlsx") - 执行批量清洗,可根据场景选择以下两种实现方案:
- 方案一:字符串拆分法(运行效率最高,适配绝大多数场景)
以反斜杠为拆分标记,直接取拆分后的第一段文本,完全匹配「Nikola Jokić\jokicni01 → Nikola Jokić」的转换需求:# 注意:Python中反斜杠是转义字符,拆分标记需要写为"\\"才能代表实际的反斜杠字符 df["Player"] = df["Player"].str.split("\\").str[0] - 方案二:正则匹配法(容错性更强)
对没有反斜杠的单元格会自动保留原内容,不会因匹配不到目标分隔符报错:# 提取从文本开头到第一个反斜杠前的所有内容,无反斜杠的单元格保留原值 df["Player"] = df["Player"].str.extract(r"^(.*?)\\", expand=False).fillna(df["Player"])
- 方案一:字符串拆分法(运行效率最高,适配绝大多数场景)
效果校验
执行完清洗操作后,可以输出列的前几行数据,确认转换结果是否符合预期:
print(df["Player"].head())
小提示:如果Player列存在空值,上述两种方法都会自动保留空值状态,不会触发运行报错
内容的提问来源于stack exchange,提问作者Maciej Gronczyński
相关产品推荐
相关产品推荐

