首页 > 解决方案 > 如何从DataFrame中的名称中提取首字母

问题描述

我想从用户名中提取首字母,然后用首字母替换名称

s = pd.DataFrame(['Robert Flitz', 'Hans Malek', 'Marek J. Beer'])

当我尝试使用此功能时

def initials(name):
    init = ""
    for n in name.str.split():
        for i in n:
            init+=i[0]
    return init

它返回单个字符串

initials(s[0])
'RFHMMJB'

我想看起来像

'RF'
'HM'
'MJB'

有任何想法吗?

标签: pythonpandas

解决方案


您还可以使用正则表达式:

s[0].str.replace('[^A-Z]', '')
0     RF
1     HM
2    MJB

推荐阅读