我需要提取实体标签 ECHO,然后是使用 SpaCy 的连续结果。在某些情况下,文本可能有多个日期和多个回声测量值。例如:
例 1:射血分数 6-5-06 重度 mr,轻度 ar lvef 26%,9-22-06 lvef 20%-23%
预期结果应如下所示:
| 日期_1 | 产品_1 | 结果_A | 结果_A2 | 日期_2 | 结果_B | 结果_B2 | |
|---|---|---|---|---|---|---|---|
| 0 | 6-5-06 | 左心室 | 24% | 无效的 | 06 年 9 月 20 日 | 45% | 50% |
| 1 | 10-01-07 | 英夫 | 35% | 45% | 英夫 | 35% | 无效的 |
这是我用来生成df的。
import pandas as pd
df = pd.DataFrame()
mylist= []
for ent in doc.ents:
print(ent.text, ent.label_)
mylist.append([ent.text,ent.label_])
print(mylist)
procedure = ', '.join(i[0] for i in mylist if i[1] =='PROCEDURE')
value = ', '.join(i[0] for i in mylist if i[1] =='UNIT')
date = ', '.join(i[0] for i in mylist if i[1] =='DATE')
df = df.append({'ProcdureName':procedure, 'Value': value, 'Date': date},ignore_index=True)
print(df)
