Pandas系列和数据框架中使用空间的柠檬化问题

2024-04-28 06:13:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究text data具有(14640,16)的形状,使用Pandas和Spacy进行预处理,但在文本的柠檬化形式方面存在问题。此外,如果我使用只包含文本列的pandas系列(即只有一列的dataframe),也会有不同的问题。你知道吗

Code:(Dataframe)

nlp = spacy.load("en_core_web_sm")
df['parsed_tweets'] = df['text'].apply(lambda x: nlp(x))
df[:3]

Result

在这之后,我用解析的_tweets对列进行迭代,以获得lemmetized数据,但得到错误。你知道吗

Code:

for token in df['parsed_tweets']:
  print(token.lemma_)

Error

Code: (Pandas Series)

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)

Error

有人能帮我改正错误吗?我尝试了其他stackoverflow解决方案,但无法让Spacy的doc对象对其进行迭代并获取标记和柠檬化标记。 我做错什么了?你知道吗


Tags: textcore文本webpandasdfnlpspacy
1条回答
网友
1楼 · 发布于 2024-04-28 06:13:16
#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)])

enter image description here

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

相关问题 更多 >