我正在尝试将标题为全名的列拆分为名字和姓氏。我正在使用以下代码。然而,当我有像玛丽·范德史密斯这样的名字时,姓氏对我不起作用。范德史密斯应该被捕获为姓氏,但我不确定如何做到这一点。在下面的代码中我只收到 smith。
df['first_name'] = df['full_name'].str.split().str[0]
df['last_name'] = df['full_name'].str.split().str[-1]
任何指导或帮助将不胜感激。
您可以使用切片,而不是尝试使用索引来获取姓氏。切片允许您将第二个字符串位置提取到末尾,从而在不使用索引值的情况下有效捕获姓氏。最后你可以使用“join()”方法将它们连接在一起形成一个字符串..
df['名字'] = df['全名'].str.split().str[0] df['姓氏'] = df['全名'].str.split().str[1:].str.join(' ')