【问题标题】:Find the word behind the index numbers in python在python中查找索引号后面的单词
【发布时间】:2021-01-09 17:48:00
【问题描述】:

我是 NLP 的新手,我有一个问题。我有一个数据框由 2 列组成。第一个句子让我们说“Hello World,你好吗?”第二列有 [6,7,8,9,10] 代表第一句中的单词“World”(索引位置)。 python中是否有任何函数可以让我有机会识别并出现每行中由索引号指定的单词?

谢谢

https://ibb.co/LRnWM7G

【问题讨论】:

  • df['sentence'][6:10] 会做到的。请发布您的数据的 sn-p。听起来第二列是整数(索引)的 Python 列表。如果您只是拆分句子,而不是传递索引列表,可能会更好。
  • 我添加了数据截图!我不能使用 [6:10],因为每次单词都处于不同的位置。

标签: python nlp


【解决方案1】:

我觉得是你需要的(根据cmets更新)

dataframe = ["Hello World",[6,7,8,9,10]],
                    ["Hello World",[6,7,8,9]],
                    ["Hello World",[7,8,9,10]]
resultdataframe=[]

def textbyindexlist(df):
    text = df[0]
    letterindex=df[1]
    newtext=""
    for ind in letterindex:
        newtext = newtext + text[ind]
    return newtext
for i in dataframe:
    resultdataframe.append(textbyindexlist(i))
print (resultdataframe)

【讨论】:

  • 这似乎有效,但只是一个问题。我怎样才能使它适用于我的数据框,因为每当我尝试在创建的函数中传递数据框名称时,我都会收到一条消息“字符串索引必须是整数”。
  • 我的代码在函数逐行获取时有效,您应该遍历数据框以获取包含所有结果文本的数据框。我对我的答案进行了更正
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 2021-08-27
  • 1970-01-01
  • 2011-10-01
  • 1970-01-01
  • 2021-10-25
相关资源
最近更新 更多