python - 如何从DataFrame中的名字中提取首字母

标签 python pandas

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

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/

相关文章:

python - Pandas:改进运行时间循环遍历包含子字符串的字符串

python - 如何在 Odoo 10 中以编辑模式打开现有记录?

python - 向数据框中的 datetime64 列添加偏移量

python - 将对象转换为 Panda 数据框?

python - 如何使用 astype() 更改数据框中单列的数据类型?

python - 修改 TabularInline 中元素的呈现

python - 如何确定 Makefile 中的 python 版本?

python - 比较 Python 中两个列表中的值

python - 以矢量化方式在另一个 DataFrame 中查找具有值子集的行

python - 如何替换 Pandas 中的异常值数据?