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

如何从Pandas DataFrame列中提取数字与字母F的组合?

解决方案

用正则表达式配合Pandas的str.replace()方法就能精准处理这类格式转换需求,只修改符合数字-F-xxx或数字-F格式的内容,其他格式保持原样。

具体代码实现

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({'AST_NAME': ['2F', '3-F-A', 'SwB', '5-F', 'X123', '7-F-B-C']})

# 执行格式转换
df['AST_NAME'] = df['AST_NAME'].str.replace(r'^(\d+)-F.*', r'\1F', regex=True)

效果说明

处理后AST_NAME列的结果为:

AST_NAME
2F
3F
SwB
5F
X123
7F

正则逻辑解释

  • ^(\d+):匹配字符串开头的连续数字,并用括号捕获这部分内容;
  • -F.*:匹配紧随数字后的-F以及后续任意字符;
  • \1F:将匹配到的内容替换为捕获的数字加上F,完美实现3-F-A转3F的需求,同时不影响2F、SwB这类原本符合要求或非目标格式的内容。

之前用lstrip()/rstrip()或截取字符的方法,因为无法精准匹配目标格式,容易误改非目标内容或处理不彻底,正则方法则能精准定位需要修改的条目,一次性解决问题。

内容的提问来源于stack exchange,提问作者Shraddha Jadhav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:35:18