Итак, я последовал ответу в этом вопросе ( Извлечение сущности из фрейма данных с использованием spacy ), и это решило мне возможность перебирать DF.
Проблемы, с которыми я сталкиваюсь, - попытаться получить эти результаты, добавить столбец из исходного df и поместить все это в новый df. Я хочу, чтобы DOI из оригинального df, текст сущности и метки сущности из NER.
Код, чтобы получить и поместить в список:
entities=[]
nlp = spacy.load("en_ner_bionlp13cg_md")
for i in df['Abstract'].tolist():
doc = nlp(i)
for entity in doc.ents:
entities.append((df.DOI, entity.text , entity.label_))
Затем я беру список сущностей и передаю в новый df:
df_ner = pd.DataFrame.from_records(entities, columns =['DOI', 'ent_name', 'ent_type'])
К сожалению, в df загружаются только первые записи. Чего мне не хватает?
DOI ent_name ent_type
0 3 10.7501/j.issn.0253-2670.2020.... COVID-19 GENE_OR_GENE_PRODUCT
1 3 10.7501/j.issn.0253-2670.2020.... ACE2 GENE_OR_GENE_PRODUCT
2 3 10.7501/j.issn.0253-2670.2020.... angiotensin converting enzyme II GENE_OR_GENE_PRODUCT
3 3 10.7501/j.issn.0253-2670.2020.... ACE2 GENE_OR_GENE_PRODUCT
4 3 10.7501/j.issn.0253-2670.2020.... UniProt GENE_OR_GENE_PRODUCT