如何从python的列中提取字符串

问题描述 投票:-1回答:1

我有一列包含客户端名称。现在,我想创建另一个只能包含以下标题的列:((先生),(夫人),(博士))

我的专栏就像:

print(df['Name'])

        Name
0 William, Mr. Henry
1 Mrs Meryam Hinadi
2 Dr. Richard Barodi
3 Yadar Danari Mr.
4 Gadi Dr. Nawsi

我定义了此功能,但无法正常工作。我一定很想念东西。请纠正我。

def get_status(cols):
        name = cols[0]

        if name == name.str.contains('Mrs'):
            return 'Mrs'
        elif name == name.str.contains('Mr.'):
            return 'Mr.'
        elif name == name.str.contains('Dr.'):
            return 'Dr.'
        else:
            return name

df['Titles'] = df['Name'].apply(get_status)

谢谢。

python-3.x function apply
1个回答
2
投票

尝试一下:

def get_status(cols):
    if ('Mrs') in cols:
        return 'Mrs'
    elif ('Mr.') in cols:
        return 'Mr.'
    elif ('Dr.') in cols:
        return 'Dr.'
    else:
        return cols

df['Titles'] = df['name'].apply(get_status)

输出:

    name               Titles
0   William, Mr. Henry  Mr.
1   Mrs Meryam Hinadi   Mrs
2   Dr. Richard Barodi  Dr.
3   Yadar Danari Mr.    Mr.
4   Gadi Dr. Nawsi      Dr.  
© www.soinside.com 2019 - 2024. All rights reserved.