我在jupyter notebook中运行以下代码,它检查nametest_df['text']
中的文本字符串并返回人名。我设法让它工作,并希望将这些名称推送到nametest_df['name']
中的相应字段,其中当前所有值都是NaN
。你知道吗
我尝试了Series.replace()
方法,但是'name'列中的所有条目都显示相同的名称。你知道吗
你知道我该怎么做吗?你知道吗
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})
样品名称测试
**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
不要尝试逐个填充序列值。这样效率低,容易出错。一个更好的方法是创建一个名称列表并直接分配。你知道吗
相关问题 更多 >
编程相关推荐