我试图使用以下代码从DataFrame中可用的文本中提取实体
for i in df['Text'].to_list():
doc = nlp(i)
for entity in doc.ents:
if entity.label_ == 'GPE':
我需要将第一个GPE
的文本与其对应的文本列一起存储。例如,如果下面是列df['Text']
中索引0处的文本
Match between USA and Canada was postponed
然后,我只需要另一列中的第一个位置(USA),例如文本对应索引处的df['Place']
,即0df['Place']
在DataFrame中不可用意味着将在赋值时创建它。我尝试了以下代码。但它用它能找到的第一个值填充整个列
for i in df['Text'].to_list():
doc = nlp(i)
for entity in doc.ents:
if entity.label_ == 'GPE':
df['Place'] = (entity.text)
我还尝试用e_list.append((entity.text))
在列表中附加文本,但它会附加在文本中可以找到的所有实体。
有人可以帮助我如何只在相应的索引中存储第一个实体吗。多谢各位
您可以使用
Text
列上的Series.apply
获取每个条目的所有实体,如如果您只想从每个条目中获取第一个实体,请使用
以下是一个测试片段:
相关问题 更多 >
编程相关推荐