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

如何用Python Pandas移除DataFrame中特定字符串后的内容?

问题描述

我有如下所示的DataFrame:

details
      Pinene 0.16%, Borneol 0.08%, Myrcene 0.12%,Total terpenes content 1.00%, Parents Strains Kandy KushCookie Monster

      Pinene 0.18%, Borneol 0.08%, Myrcene 0.2%,Total terpenes content 05.00%, Parents Strains Kandy KushCookie Monster

希望移除“Total terpenes content”之后的所有内容,预期得到的DataFrame如下:

details
          Pinene 0.16%, Borneol 0.08%, Myrcene 0.12%,Total terpenes content 1.00%
    
          Pinene 0.18%, Borneol 0.08%, Myrcene 0.2%,Total terpenes content 05.00%
解决方案

使用Pandas的字符串提取方法结合正则表达式,可精准保留到“Total terpenes content”及其后续的百分比数值部分,代码如下:

import pandas as pd

# 构造示例数据
data = {
    'details': [
        'Pinene 0.16%, Borneol 0.08%, Myrcene 0.12%,Total terpenes content 1.00%, Parents Strains Kandy KushCookie Monster',
        'Pinene 0.18%, Borneol 0.08%, Myrcene 0.2%,Total terpenes content 05.00%, Parents Strains Kandy KushCookie Monster'
    ]
}
df = pd.DataFrame(data)

# 提取目标内容
df['details'] = df['details'].str.extract(r'(.*Total terpenes content \d+\.?\d*%)')

print(df)

说明

正则表达式 (.*Total terpenes content \d+\.?\d*%) 的作用是:

  • .* 匹配“Total terpenes content”之前的所有字符
  • Total terpenes content 精准匹配目标短语
  • \d+\.?\d*% 匹配后续的百分比数值(支持整数、小数形式,比如1.00%或05.00%)
  • 整个表达式将匹配到的内容提取出来,替换原列值,自动去除后续多余内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:01:08