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

Pandas:从其他列提取子串创建新列的高效方法

高效提取数值的批量实现方法

针对固定前缀FSA: 的列数据,无需逐行处理的高效方案分两种常见场景:

Python Pandas 处理表格数据

利用Pandas的字符串批量处理能力配合正则表达式,直接整列提取:

  1. 假设数据存在DataFrame的original_col列中
  2. 使用str.extract匹配前缀后的数值,支持整数、小数格式
  3. 转为数值类型以便后续计算

示例代码:

import pandas as pd

# 示例数据
df = pd.DataFrame({
    'original_col': [
        'FSA: 123.45 US DOLLAR',
        'FSA: 67.89 JAPANESE YEN',
        'FSA: 99 EURO',
        'FSA: 1234.5 HONGKONG DOLLAR'
    ]
})

# 提取数值并创建新列
df['numeric_value'] = df['original_col'].str.extract(r'FSA: (\d+\.?\d*)').astype(float)

# 输出结果
print(df['numeric_value'])

运行后会得到:

0    123.45
1     67.89
2     99.00
3    1234.50
Name: numeric_value, dtype: float64

Excel 表格处理

如果用Excel处理,可通过以下公式批量生成新列:

  • 支持Excel 365的正则函数:

    =REGEXEXTRACT(A1, "FSA: (\d+\.?\d*)")
    

    下拉填充即可批量提取所有行的数值,再将单元格格式转为数值类型。

  • 兼容旧版Excel的函数组合:

    =VALUE(TEXTBEFORE(TEXTAFTER(A1, "FSA: "), " "))
    

    先提取FSA: 后的内容,再取第一个空格前的部分,最后转为数值。

内容的提问来源于stack exchange,提问作者Nick D'Agostino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:31:09