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

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'

有任何想法吗?

最佳答案

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

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

关于python - 如何从DataFrame中的名称中提取首字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57868623/

10-15 01:57