【发布时间】:2021-03-05 06:51:19
【问题描述】:
给定一个数据框如下:
player score
0 Sergio Agüero Forward — Manchester City 209.98
1 Eden Hazard Midfield — Chelsea 274.04
2 Alexis Sánchez Forward — Arsenal 223.86
3 Yaya Touré Midfield — Manchester City 197.91
4 Angel María Midfield — Manchester United 132.23
如何将player 拆分为三个新列name、position 和team?
player score name position team
0 Sergio Agüero Forward — Manchester City 209.98 Sergio Forward Manchester City
1 Eden Hazard Midfield — Chelsea 274.04 Eden Midfield Chelsea
2 Alexis Sánchez Forward — Arsenal 223.86 Alexis Forward Arsenal
3 Yaya Touré Midfield — Manchester City 197.91 Yaya Midfield Manchester City
4 Angel María Midfield — Manchester United 132.23 Angel Midfield Manchester United
我考虑用df[['name_position', 'team']] = df['player'].str.split(pat= ' — ', expand=True) 将其拆分为两列,然后将name_position 拆分为name 和position。但是有没有更好的解决方案?
非常感谢。
【问题讨论】:
-
我认为您的解决方案很好。
标签: python-3.x pandas dataframe