人工智能自动组方实习笔记7—中医数据预处理中使用过的python代码

本文记录了在中医自动组方实习中对于中医数据预处理过程中使用过的python代码及遇到过的问题解决方法,代码没有什么深度只是日常操作,在此做个记录以便将来如果有问题再进行查找,如果有那位小伙伴在做类似的工作,请在博文下留言或者发邮件和我沟通交流(1318525510@qq.com)
以下为该项目的系列文章
工作记录
萤火虫算法
FCM模糊C聚类
爬虫及python代码
数据预处理
中医分类及python代码
数据预处理python代码
基于字典的最大正向匹配
基于欧式距离的方剂推荐
基于方剂相似性的方剂推荐
GitHub地址

从方剂方剂数据中提取药物

import pandas as pd
import re
f = open('原始数据.csv','r')
f1 = open('分割后的药物名.txt','w',encoding='utf-8')
f = pd.read_csv(f)
yaowu = []
'''
对于药物的原始数据来说,因为很多方剂或者病例的药物组成中是药物剂量和炮制方法注意事项放在一起的
所有首先要对药物的剂量数据去掉(这一步的正则表达式很重要,一定要经过测试),然后在去掉炮制方法,得到单纯的药物信息
在药物组成信息中会有很多冗余的很杂的信息,在此要一并去掉
将得到的药物信息去重后保存起来以待后期处理
'''
for i in range(f.shape[0]):
    a = f['药物组成'].loc[i]
    a = re.sub(r'[\d半一二三四五六七八九十小中大][节两克片分枚个gml%寸钱斤对粒只付升铢株尺条盏秤滴厘杯双具斗颗匙头把至字合]',repl='',string=a)
    a = re.sub(r'[节两克片分枚个gml%寸钱斤对粒只付升铢株尺条盏秤滴厘杯双具斗颗匙头把]半',repl='',string=a)
    a = re.sub(r'[\d半一二三四五六七八九十小中大]?匙头[半]?',repl='',string=a)
    a = re.sub(r'《.*》',repl='',string=a)
    a = re.sub(r'一些|如鸡子大|鸡子大|茶碗|如小指大握|各等|不拘多少|不计多少|不以多少|如碗许大|两半|少许|适量|仁半|鸡子许|鸡子壳许|如鸡子|少许|若干|加倍|细末|小块|取汁斗',repl='',string=a)
    a = re.sub(r'ko',repl='',string=a)
    a = re.sub(r'[一二三四五六七八九十]+上末',repl='',string=a)
    a = re.sub(r'-',repl='',string=a)
    a = re.sub(r'或',repl='',string=a)
    a 
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值