Nat*_*ton 1 python lambda apply pandas
假设我抽取了一些名称样本,例如由各个字段分隔的名称:
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
Run Code Online (Sandbox Code Playgroud)
我们还假设这些数据被格式化为 pandas 数据帧 (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
Run Code Online (Sandbox Code Playgroud)
我想正确地将给定名称的所有部分组合在一起,每个名称段之间只有一个空格。根据我的研究和实施,我发现的最好的解决方案是这样的——使用了我们的解决方案re。这是最佳方法还是对于这种特殊情况有更好的方法?
我的最终方法是这样的:
df['full_name']=df[['First Name', 'Middle Name', 'Last Name']].apply(lambda x: re.sub(' +', ' ', ' '.join(x)), axis=1)
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式申请加入:
df['full_name'] = df[['First Name','Middle Name', 'Last Name']].apply(lambda x: ' '.join(x), axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4138 次 |
| 最近记录: |