首页 > 解决方案 > 从熊猫数据框中按点拆分列

问题描述

我有一个带有名称列的熊猫数据框,如下所示

name
Dr. Maso Guilani
Paul Dupey
Mrs. Sarah Kant
Cathay Pane
Canine Paul

我想删除像“Dr., Mrs.”这样的字符串。从那个“名称”列

我尝试如下。

df['name']=df.name.replace({"Mrs.": ""},regex=True).replace({"Dr.": ""},regex=True)

但我想概括一下,因为我不确定有多少像“博士,夫人”这样的前缀。在庞大的数据集中可用。基本上我想删除所有带点的前缀。谢谢。

预期输出:

name
Maso Guilani
Paul Dupey
Sarah Kant
Cathay Pane
Canine Paul

标签: python-3.xpandasdataframe

解决方案


这样做的一种方法:

途径split()apply()方法:

df['name']=df['name'].str.split('.',1).apply(lambda x:x[1] if len(x)>1 else x[0])

输出df

0     Maso Guilani
1       Paul Dupey
2       Sarah Kant
3      Cathay Pane
4      Canine Paul

推荐阅读