在 pandas 系列和 Dataframe 中使用 Spacy 的词形还原问题
lemmatization issue using Spacy in pandas Series and Dataframe
我正在研究形状为 (14640,16) 的 text data,使用 Pandas 和 Spacy 进行预处理,但在获取词素化形式的文本时遇到问题。此外,如果我使用仅包含文本列的 pandas 系列(即具有一列的数据框),那么也会有不同的问题。
代码:(数据框)
nlp = spacy.load("en_core_web_sm")
df['parsed_tweets'] = df['text'].apply(lambda x: nlp(x))
df[:3]
结果:
在此之后,我使用 parsed_tweets 遍历该列以获取 lemmetized 数据但出现错误。
代码:
for token in df['parsed_tweets']:
print(token.lemma_)
错误:
代码:(Pandas系列)
df1['tweets'] = df['text']
nlp = spacy.load("en_core_web_sm")
for text in nlp.pipe(iter(df1), batch_size = 1000, n_threads=-1):
print(text)
错误:
有人可以帮我解决错误吗?我尝试了其他 Whosebug 解决方案,但无法让 Spacy 的 doc 对象对其进行迭代并获取令牌和 lemmetized 令牌。
我做错了什么?
#you can directly get your lemmatized token by running list comprehension in your lambda function
df['parsed_tweets'] = df['text'].apply(lambda x: [y.lemma_ for y in nlp(x)])
print(type(df['parsed_tweets'][0]))
#op
spacy.tokens.doc.Doc
for i in range(df.shape[0]):
for word in df['parsed_tweets'][i]:
print(word.lemma_)
#op
play
football
i
be
work
hard
我正在研究形状为 (14640,16) 的 text data,使用 Pandas 和 Spacy 进行预处理,但在获取词素化形式的文本时遇到问题。此外,如果我使用仅包含文本列的 pandas 系列(即具有一列的数据框),那么也会有不同的问题。
代码:(数据框)
nlp = spacy.load("en_core_web_sm")
df['parsed_tweets'] = df['text'].apply(lambda x: nlp(x))
df[:3]
结果:
在此之后,我使用 parsed_tweets 遍历该列以获取 lemmetized 数据但出现错误。
代码:
for token in df['parsed_tweets']:
print(token.lemma_)
错误:
代码:(Pandas系列)
df1['tweets'] = df['text']
nlp = spacy.load("en_core_web_sm")
for text in nlp.pipe(iter(df1), batch_size = 1000, n_threads=-1):
print(text)
错误:
有人可以帮我解决错误吗?我尝试了其他 Whosebug 解决方案,但无法让 Spacy 的 doc 对象对其进行迭代并获取令牌和 lemmetized 令牌。 我做错了什么?
#you can directly get your lemmatized token by running list comprehension in your lambda function
df['parsed_tweets'] = df['text'].apply(lambda x: [y.lemma_ for y in nlp(x)])
print(type(df['parsed_tweets'][0]))
#op
spacy.tokens.doc.Doc
for i in range(df.shape[0]):
for word in df['parsed_tweets'][i]:
print(word.lemma_)
#op
play
football
i
be
work
hard