连续获取标记化单词的第一个元素

Get first element of tokenized words in a row

使用现有的列名称,向 df 添加一个新列 first_name,以便新列将名称拆分为多个单词,并将第一个单词作为其名字。例如,如果名字是 Elon Musk,则在列表 ['Elon', 'Musk'] 中将其拆分为两个单词,并将第一个单词 Elon 作为其名字。如果名字只有一个词,那么这个词本身就是名字。

数据框的片段

Name
Alemsah Ozturk
Igor Arinich
Christopher Maloney
DJ Holiday
Brian Tracy
Philip DeFranco
Patrick Collison
Peter Moore
Dr.Darrell Scott
Atul Gawande
Everette Taylor
Elon Musk
Nelly_Mo

这就是我目前所拥有的。我不确定如何在标记化后提取名称

import nltk
first = df.name.apply(lambda x: nltk.word_tokenize(x))
df["first_name"] = This is where I'm stuck

试试这个片段:

df["first_name"] = df['Name'].map(lambda x: x.split(' ')[0])
df["last_name"] = df['Name'].map(lambda x: x.split(' ')[1])