Python 优化操作:组合名字/中间名/姓氏列
让我们假设我取了一个名称示例,例如由单个字段分隔的名称:Python 优化操作:组合名字/中间名/姓氏列,python,pandas,lambda,apply,Python,Pandas,Lambda,Apply,让我们假设我取了一个名称示例,例如由单个字段分隔的名称: 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 An
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
我们还假设这些数据被格式化为数据帧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
我想正确地将一个给定名称的所有部分与一个单独的名称结合起来
每个名称段之间的空格。根据我的研究和实施,
我找到的最好的解决方案是——重新使用的那个。这是最佳的方式还是存在
这件案子有更好的办法吗
我最后的方法是:
df['full_name']=df[['First Name', 'Middle Name', 'Last Name']].apply(lambda x: re.sub(' +', ' ', ' '.join(x)), axis=1)
您可以通过以下方式申请加入:
df['full_name'] = df[['First Name','Middle Name', 'Last Name']].apply(lambda x: ' '.join(x), axis=1)
你能不能把它们加在一起df['full_name']=df['First name']+'+df['Middle name']+'+df['Last name']@kenan如果中间名或姓氏为空,那么这不仅仅是一个空格。假设名称是df[names]列的列表。applylambda x:x.str.catsep='',axis=1