У меня проблема с тем, как заменить строку в позиции, отличной от 0, в предложении, используя мою функцию.
Я хочу заменить строку в col2 на строку в col1 (всегда в нижнем регистре)
Например, я хочу попробовать заменить:
input: Hello Aaa1 my very good friend
output: Hello NNP my very good friend
Теперь у меня есть только:
input: Aaa1 my very good friend
output: NNP my very good friend
Я хочу заменить строку во всех позициях предложения.
Я пытаюсь:
## 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
Edit:
У меня есть:
col1 col2 output
aaa1 AAA1 Hello hello NNP Hello hello
aaa2 aaa2 hello hello NN hello hello
aaa3 Hello AAa3 hello Hello NNP hello
Я хочу заменить в каждой строке определенный POS-тег (не только одну строку для NNP)