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

如何从pandas DataFrame中提取'tax'与'USD'间的动态数值

解决方案

你可以用正则表达式精准匹配tax与USD之间的数值,补全后的str.extract参数如下:

import pandas as pd
d={'75 shares ExD 2022-09-14 PD 2022-10-11 dividend MO.NYSE 70.50 USD (0.94 per share) tax -10.58 USD (-15.000%) DivCntry US USIncmCode 06'}

df = pd.DataFrame(d.values(), columns=['description'])
# 补全的正则表达式参数
df['tax'] = df['description'].str.extract(r'tax\s+(-?\d+\.\d+)\s+USD')
print(df[['tax','description']])

正则表达式说明:

  • tax\s+:匹配字符串里的tax关键词,以及后面的一个或多个空格
  • (-?\d+\.\d+):核心捕获组,专门提取目标数值:
    • -?:兼容正数和负数,匹配可选的负号
    • \d+:匹配一个或多个整数位数字
    • \.:匹配小数点
    • \d+:匹配一个或多个小数位数字
  • \s+USD:匹配数值后面的一个或多个空格,以及USD关键词

运行后输出结果:

tax                                        description
0  -10.58  75 shares ExD 2022-09-14 PD 2022-10-11 dividen...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:45:33