优化pandas操作:组合名/中间名/姓列

4si2a6ki  于 2023-04-04  发布在  其他
关注(0)|答案(2)|浏览(121)

假设我取了一个由各个字段分隔的名称样本:

indx  First Name   Middle Name     Last Name
0     CHARITIXAN   K.R.,           NICHOLS
1           None   Johnny-Boy      CHAVEZ
2          ISAAC   None            ESPARZA
3        MICHAEL   nan             
4         Andrew                   Pfaff

我们还假设这些数据被格式化为pandas dataframe(df),并且已经进行了足够的清理(通过.replace方法),所有剩下的值都是被占用的字符串或空字符串。

indx  First Name   Middle Name     Last Name
0     CHARITIXAN   K.R.,           NICHOLS
1                  Johnny-Boy      CHAVEZ
2          ISAAC                   ESPARZA
3        MICHAEL               
4         Andrew                   Pfaff

我想正确地合并一个给定名称的所有部分,每个名称段之间只有一个空格。根据我的研究和实现,我发现的最佳解决方案是this-使用re。这是最佳方法吗?或者对于这种特定情况有更好的方法吗?
我的最终方法是这样的:

df['full_name']=df[['First Name', 'Middle Name', 'Last Name']].apply(lambda x: re.sub(' +', ' ', ' '.join(x)), axis=1)
e0bqpujr

e0bqpujr1#

您可以将加入应用为:

df['full_name'] = df[['First Name','Middle Name', 'Last Name']].apply(lambda x: ' '.join(x), axis=1)
n9vozmp4

n9vozmp42#

你可以用这个

df['full_name'] = df.apply(lambda row: row['First Name'] + ' ' + row['Middle Name'] + ' ' + row['Last Name'], axis=1)

相关问题