【发布时间】:2021-06-27 04:17:12
【问题描述】:
我有一个如下图所示的数据框
df = pd.DataFrame({'text_1':['WHITE SOFT PARAFFIN 100G', 'VITAMIN B12 1MG/ML INJ 10ML','vitamin B1 100mg, B6 200mg, B12 200mcg tab','UREA CREAM 10% BP 100G', 'TOBRAMYCIN 0.3%/DEXA 1% EYE DROP 5ML','TERAzosin 5MG TAB (HYTRIN)','SODIUM CHLORIDE 0.9% EYE DROP 5ML/10ML']})
我想从示例数据框中显示的药物列表中提取剂量信息。
虽然我能够达到 90% 的准确率,但我想与您核实一下,我怎样才能以万无一失的方式或稳健的方式做到这一点,以尽量减少捕获不需要的信息
例如,我尝试了以下操作,但它产生了错误的输出
df['text_1'].str.findall('[0-9]+\s*[mgMG/lLcC]+')
最后一行应该是5ML/10ML,但它被分成了两部分(这是不正确的)
另一个提示是我知道我所有的剂量值都将以number optionally followed by a space and unit like MG, MCG、ML、G、g、mg、mcg 或ml 等开头。
例如:WHITE SOFT PARAFFIN 100G,我想提取100G。同样,对于VITAMIN B12 1MG/ML INJ 10ML,我想提取1MG/ML and 10ML。我们同时提取1MG/ML 和10ML,因为它满足我的提示
所以,我希望我的输出如下所示
【问题讨论】:
标签: python regex pandas string dataframe