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

如何通过字符匹配从DataFrame中提取日文药品名和对应剂量?

实现步骤

你可以结合pandas的字符串处理和正则匹配实现需求,完全符合你提到的匹配字母F和字符「注」的拆分逻辑:

完整代码实现

import pandas as pd
import re

# 全角数字转半角辅助函数,处理日文全角数字问题
def zenkaku_to_hankaku(s):
    return s.translate(str.maketrans('0123456789', '0123456789'))

# 构造测试数据,你可以替换成你自己的DataFrame读取逻辑
df = pd.DataFrame({
    'Drug name': [
        'コージネイトFSバイオセット注250 250国際単位',
        'アドベイト注射用500 500単位'
    ]
})

# 提取纯净药品名:取字符串开头到第一个「F」或「注」之前的内容,去除首尾空白
df['Drug_clean'] = df['Drug name'].str.extract(r'^([^F注]+)')[0].str.strip()

# 提取剂量:先转全角数字为半角,再提取第一个连续数字,转为整数格式
df['Volume'] = df['Drug name'].apply(zenkaku_to_hankaku).str.extract(r'(\d+)')[0].astype(int)

逻辑说明

  • 药品名提取正则^([^F注]+):^限定从字符串开头匹配,[^F注]+匹配所有非「F」、非「注」的字符,遇到第一个目标终止符就停止,刚好拆分出前面的药品通用名部分。
  • 剂量提取优先转换全角数字为半角,再取第一个出现的连续数字,避免了后面重复标注的剂量干扰,匹配你需要的结果。

运行后输出的Drug_clean和Volume列和你给出的预期效果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:36:05