Python 在pandas系列和数据框架中使用Spacy实现lemetization问题
我正在研究14640,16的形状,使用Pandas和Spacy进行预处理,但在文本的柠檬化形式方面存在问题。此外,如果我使用pandas系列,即只有一列只包含文本列的dataframe,也会有不同的问题 代码:数据帧 在这之后,我用解析的_tweets对该列进行迭代,以获得lemetized数据,但得到错误 代码: 代码:熊猫系列 有人能帮我纠正错误吗?我尝试了其他stackoverflow解决方案,但无法让Spacy的doc对象对其进行迭代并获取令牌和lemetized令牌。 我做错了什么Python 在pandas系列和数据框架中使用Spacy实现lemetization问题,python,pandas,dataframe,series,spacy,Python,Pandas,Dataframe,Series,Spacy,我正在研究14640,16的形状,使用Pandas和Spacy进行预处理,但在文本的柠檬化形式方面存在问题。此外,如果我使用pandas系列,即只有一列只包含文本列的dataframe,也会有不同的问题 代码:数据帧 在这之后,我用解析的_tweets对该列进行迭代,以获得lemetized数据,但得到错误 代码: 代码:熊猫系列 有人能帮我纠正错误吗?我尝试了其他stackoverflow解决方案,但无法让Spacy的doc对象对其进行迭代并获取令牌和lemetized令牌。 我做错了什么 #
#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)])
你能告诉我我的代码有什么问题吗?我想我也试着这么做。你的parsed_tweet列包含token的tuple,你在df['parsed_tweet']中使用for token,它将tuple作为行值,而不是单词标记…如果在Spacy中获取标记是一个问题,那么有没有办法将元组转换为列表,因为我已经尝试使用listtuple将元组列更改为列表列,但它也不起作用?Spacy是否只将列表作为令牌的输入?已解析的_tweets列中的每个行元素的类型是Spacy.tokens.doc.doc,所以您也必须在这里迭代。printtypedf['parsed_tweets'][0]我尝试使用您的代码,但出现了此错误。在3中,我在rangedf.shape[0]:4中,我在df['parsed_tweets'][i]:-->5 printword.lemma\uuuUattributeError:'str'对象没有属性'lemma'。你能告诉我我的代码出了什么问题吗?我想我也试着这么做。你的parsed_tweet列包含token的tuple,你在df['parsed_tweet']中使用for token,它将tuple作为行值,而不是单词标记…如果在Spacy中获取标记是一个问题,那么有没有办法将元组转换为列表,因为我已经尝试使用listtuple将元组列更改为列表列,但它也不起作用?Spacy是否只将列表作为令牌的输入?已解析的_tweets列中的每个行元素的类型是Spacy.tokens.doc.doc,所以您也必须在这里迭代。printtypedf['parsed_tweets'][0]我尝试使用您的代码,但出现了此错误。在3中,我在rangedf.shape[0]:4中,我在df['parsed_tweets'][i]:-->5 printword.lemma\uuUattributeError:'str'对象没有属性'lemma'
for token in df['parsed_tweets']:
print(token.lemma_)
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)
#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