问题描述
从 df['Article']
中提取并打印实体的以下代码工作正常。
for i in df['Article'].to_list():
doc = nlp(i)
for entity in doc.ents:
print((entity.text))
但是,每当我尝试使用 append
entities_list.append((entity.text))
这些实体时,我都会收到 TypeError: object of type 'float' has no len()
错误,我尝试使用以下方式创建 entities_list=[]
entities_list = []
for i in df['Article'].to_list():
doc = nlp(i)
for entity in doc.ents:
print((entity.text))
以及
for i in df['Article'].to_list():
entities_list = []
doc = nlp(i)
for entity in doc.ents:
print((entity.text))
此外,即使我尝试创建另一个 DataFrame 或向 df
添加新列,我也会遇到同样的错误。有人可以帮助我在这里做错什么吗?谢谢
编辑:df['Articles']
中的数据是新闻文本,如
彭斯的举动是在疫苗接种工作展开之际 世界正在竞相阻止一场已夺取至少 1.66 年的大流行病 百万人的生命并感染了超过 7400 万人。
第一个代码打印从文本中提取的实体,但我需要将这些实体附加到列表中,如下所示
[entity1,entity2,entity3,entity4]
解决方法
似乎文章列有一些缺失值,请执行以下操作:
entities_list = []
for i in df['Article'].fillna('').to_list():
doc = nlp(i)
for entity in doc.ents:
entities_list.append((entity.text))