Заменить строку в предложении, используя другой столбец и POS-тег - PullRequest
0 голосов
/ 29 апреля 2018

Как заменить строку в предложении, используя другой столбец и POS-тег?

Я хочу заменить строку в col2 как POS-тег из col1

Например:

col1    col2                           output
mtmb2   MTMB2 is a my sentence         NNP is a my sentence
mmm2    Your MmM2 is my sentence       Your NNP is my sentence
bbb2    Your sentence is bbb2          Your sentence is NN

Я пытаюсь использовать решение @YOLO:

## import libraries
from nltk import word_tokenize, pos_tag, pos_tag_sents

## tag the sentece
df['col2'] = df['col2'].apply(word_tokenize).apply(pos_tag)

## this function does the magic 
def get_vals(lst):
    op = [] 
    for i, v in enumerate(lst):
        if i == 0:
            op.append(v[1])
        else:
            op.append(v[0])
    return ' '.join(op)

## apply the function
df['col2'] = df['col2'].apply(get_vals)

print(df)

   col1                      col2
0  aaa1     NNP is a great friend
1  abb2  NN is a very good friend

Но это решение работает, только если слово для замены находится в первом индексе ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...