gpt4 book ai didi

python - 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名)

转载 作者:行者123 更新时间:2023-12-02 05:48:44 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,其中有一列表示几位网球运动员的姓氏和姓名,如下所示:

   | Player              | 
|---------------------|
0 | 'Roddick Andy' |
1 | 'Federer Roger' |
2 | 'Tsonga Jo Wilfred |

我想保留完整的姓氏并获取姓名的首字母和中间名(如果有)。因此 pandas 列应如下所示:

   | Player            | 
|-------------------|
0 | 'Roddick A.' |
1 | 'Federer R.' |
2 | 'Tsonga J.W.' | N.B. J.W. with no space

有人有建议吗?谢谢!

最佳答案

这是使用 str.extractallgroupby 的方法:

(df.Player
.str.extractall('(?P<Surname>\w*)\s(?P<Name>\w*)')
.groupby(level=0)
.agg({'Surname':'first',
'Name': lambda x: x.str[0].add('.').sum()
})
.agg(' '.join, axis=1)
)

输出:

0     Roddick A.
1 Federer R.
2 Tsonga J.W.
dtype: object

关于python - 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60417627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com