spaCy library to extract noun phrase - ValueError: [E866] Expected a string or 'Doc' as input, but got: <class 'float'>

spaCy library to extract noun phrase - ValueError: [E866] Expected a string or 'Doc' as input, but got: <class 'float'>

目前我正在尝试从句子中提取名词短语。 这些句子存储在 excel 文件的一列中。 这里的代码使用 python:

import pandas as pd
import spacy

df = pd.read_excel("xxx.xlsx")

nlp = spacy.load("en_core_web_md")
for row in range(len(df)):
    doc = nlp(df.loc[row, "Title"])
    for np in doc.noun_chunks:
        print(np.text)

但是我得到了这个错误:

Traceback (most recent call last):
  File "/Users/pusinov/PycharmProjects/textsummarizer/paper_term_extraction.py", line 10, in <module>
    doc = nlp(df.loc[row, "Title"])
  File "/Users/pusinov/PycharmProjects/textsummarizer/venv/lib/python3.9/site-packages/spacy/language.py", line 1002, in __call__
    doc = self._ensure_doc(text)
  File "/Users/pusinov/PycharmProjects/textsummarizer/venv/lib/python3.9/site-packages/spacy/language.py", line 1093, in _ensure_doc
    raise ValueError(Errors.E866.format(type=type(doc_like)))
ValueError: [E866] Expected a string or 'Doc' as input, but got: <class 'float'>.

谁能帮我写出更好的代码? 非常感谢。

p.s。我还是 python

的新手

进行null-value分析。如果您的数据集中有任何空值,请删除它们。

我遇到了类似的问题,我使用

修复了它
df['Title']= df['Title'].astype(str)

使用此代码将解决此问题。因为您必须将所有数据值转换为 str 格式(通常它发生在评论可能是数字,或 nan 或 null)。