首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >合并“名”/“姓”列,并将“名”更改为“仅首字母”

合并“名”/“姓”列,并将“名”更改为“仅首字母”
EN

Stack Overflow用户
提问于 2020-11-21 04:22:01
回答 1查看 48关注 0票数 0

这里有一个复杂的问题,所以我会尽量精确。

我正在处理两个不同的数据集:

  1. qb.metrics.df
  2. roster.df

我想把这两者合并在一起。通常,我会使用left_join,但是在这两个数据集中没有类似的属性。

,这是qb.metrics.df .的例子

代码语言:javascript
运行
复制
 Rank PlayerPlayerId   PlayerShortName       PlayerAgeExact PassAttemptsPer~ PassingYards CompletionPerce~ PassingTouchdow~
   <dbl>          <dbl> <chr>                    <dbl> <chr>            <chr>        <chr>            <chr>           
 1     1          20889 K. Murray                 23.3 34.6             2375         68.2             17              
 2     2          19801 J. Allen                  24.5 36.4             2873         68.4             21              
 3     3          14536 R. Wilson                 32   37.1             2789         69.8             28              
 4     4          18890 P. Mahomes                25.2 36.6             2687         66.9             25              
 5     5           2593 A. Rodgers                37   34.9             2578         67.8             26              
 6     6           4314 T. Brady                  43.3 38.5             2739         66               23              
 7     7          18857 D. Watson                 25.2 33.4             2539         68.1             18              
 8     8          21681 J. Herbert                22.7 37.6             2333         66.8             19              
 9     9          19781 L. Jackson                23.9 27.4             1762         64               14              
10    10          16497 T. Bridgewater            28   33.1             2544         71.9             13              

,这是roster.df .的文章

代码语言:javascript
运行
复制
 season team  position depth_chart_pos~ jersey_number status full_name first_name last_name birth_date height weight
    <dbl> <chr> <chr>    <chr>                    <int> <chr>  <chr>     <chr>      <chr>     <date>     <chr>  <chr> 
 1   2020 ARI   C        C                           52 Active Mason Co~ Mason      Cole      1996-03-28 6-5    292   
 2   2020 ARI   C        C                           53 Active Lamont G~ Lamont     Gaillard  1996-02-08 6-3    305   
 3   2020 ARI   CB       NB                          33 Active Byron Mu~ Byron      Murphy    1998-01-18 5-11   190   
 4   2020 ARI   CB       NA                          20 Active Prince A~ Prince     Amukamara 1989-06-06 6-0    204   
 5   2020 ARI   CB       NA                          39 Active Jace Whi~ Jace       Whittaker 1995-07-16 5-11   185   
 6   2020 ARI   CB       NA                          27 Injur~ Kevin Pe~ Kevin      Peterson  1994-03-22 5-11   185   
 7   2020 ARI   CB       LCB                         25 Active Johnatha~ Johnathan  Joseph    1984-04-16 5-11   185   
 8   2020 ARI   CB       NA                          23 Injur~ Robert A~ Robert     Alford    1988-10-31 5-10   186   
 9   2020 ARI   CB       LCB                         21 Active Patrick ~ Patrick    Peterson  1990-07-11 6-1    203   
10   2020 ARI   CB       RCB                         20 Active Dre Kirk~ Dre        Kirkpatr~ 1989-10-26 6-2    190 

我认为处理这一问题的方法是简单地编辑roster.df中的“PlayerShortName”列,以匹配qb.metrics.df中的“PlayerShortName”列。

这样做需要将名字编辑为第一个首字母,然后添加一个'.‘。

不知道该怎么做。

如果能提供任何帮助,我们将不胜感激。同时,我也非常乐意以其他的方式去做这件事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-21 04:31:50

一种方法是使用regex方法。

代码语言:javascript
运行
复制
roster.df <- data.frame(full_name = c('Mason Company' ,'Lamont Great', 'Byron Musk'))
roster.df$PlayerShortName <- sub('(.)\\w+ (\\w+)', '\\1. \\2', roster.df$full_name)

roster.df
#      full_name PlayerShortName
#1 Mason Company      M. Company
#2  Lamont Great        L. Great
#3    Byron Musk         B. Musk
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64939797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档