首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用pandas遍历每行中的单词

如何使用pandas遍历每行中的单词
EN

Stack Overflow用户
提问于 2021-07-03 20:17:53
回答 1查看 119关注 0票数 0

我有一个数据帧,如下所示

代码语言:javascript
运行
复制
df = pd.DataFrame({'text': ["Hi how are you","I am fine","I love you","I hate you"],
                   'tokens':[('Hi','how','are','you'),('I','am','fine'),('I','love','you'),('I','hate','you')]})

我想要每个代币的pos标签。

代码语言:javascript
运行
复制
for tok in df['tokens'].iterrows():
  print(token, token.pos_)

请注意,这里的pos_表示它是来自NLP域的语音标签的一部分

但是,我得到了一个错误

我可以告诉我如何迭代pandas列中的每一项吗?

EN

回答 1

Stack Overflow用户

发布于 2021-07-03 21:50:43

您得到'Series' object has no attribute 'iterrows'是因为您使用了列df['tokens'],它给出了一个序列(只有一维),所以没有'Series' object has no attribute 'iterrows'方法。

使用你的代码,你可以做到:

代码语言:javascript
运行
复制
    import pandas as pd
    df = pd.DataFrame({'text': ["Hi how are you","I am fine","I love you","I hate you"],
                       'tokens':[('Hi','how','are','you'),('I','am','fine'),('I','love','you'),('I','hate','you')]})
    
    for index, values in df.iterrows():
        pos = 1
        for x in values[1]:
            print(pos, x)
            pos += 1

或者,您可以使用(类似于@AnuragDabas评论的内容):

代码语言:javascript
运行
复制
df['pos tag'] = df['tokens'].apply(lambda x:list(range(len(x)+1))[1:])

您只需要df.iat[2,1][1] ;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68236197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档