我有一个数据框,需要将名字和姓氏分开。到目前为止,这是我得到的地方。
df = [['Victor De La Cruz', 'Ashley Smith', 'Angel Miguel Hernandez', 'Hank Hill']]
df['first_name'] = df.str.split().str[0]
df['last_name'] = df.str.split().str[1:]
输出
first_name last_name
Victor [De, La, Cruz]
Ashley [Smith]
Angel [Miguel, Hernandez]
Hank [Hill]
我试过用df'last_name'].replace('[', '')
来处理所有不需要的字符,但是没有用。
期望输出
first_name last_name
Paul De La Cruz
Ashley Smith
Angel Miguel Hernandez
Hank Hill
任何建议将是有益的,谢谢!
3条答案
按热度按时间ar7v8xwq1#
加入我们
在
split()
之后,您的系列中有列表对象,而不是字符串,这就是为什么.replace()
没有意义。vshtjzan2#
我建议使用
n
关键字参数将拆分限制在第一个空格。也可以使用expand=True
:bprjcwpo3#
拆分列表,然后加入项目
此代码首先将名称拆分为
["Ima", "Coding", "Nubie"]
,然后通过列表切片将它们分成两个名称,并使用空格将它们连接起来。有关
.join()
函数的更多信息,请参阅:https://www.w3schools.com/python/ref_string_join.asp