Я выполняю следующий код в блокноте jupyter, который проверяет строки текста в nametest_df['text']
и возвращает имена людей. Мне удалось заставить это работать, и я хотел бы отправить эти имена в соответствующие поля в nametest_df['name']
, где в настоящее время все значения NaN
.
Я попробовал метод Series.replace()
, однако все записи в столбце «имя» имеют одинаковое имя.
Любая подсказка, как я могу сделать это эффективно?
for word in nametest_df['text']:
for sent in nltk.sent_tokenize(word):
tokens = nltk.tokenize.word_tokenize(sent)
tags = st.tag(tokens)
for tag in tags:
if tag[1]=='PERSON':
name = tag[0]
print(name)
nametest_df.name = nametest_df.name.replace({"NaN": name})
Образец nametest_df
**text** **name**
0 His name is John NaN
1 I went to the beach NaN
2 My friend is called Fred NaN
Ожидаемый результат
**text** **name**
0 His name is John John
1 I went to the beach NaN
2 My friend is called Fred Fred