Python 如何将一列拆分为三列?

Python 如何将一列拆分为三列?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个足球联赛的数据集: df.Game.head() 0 Man. City @Cardiff City 1 Southampton @Liverpool 2 Tottenham @Brighton 3 Chelsea @West Ham 4 Wolves @Man United 球队名称前的符号“@”表示主队。我想将该列拆分为三个单独的列: 第一队:第一队 第二队:第二队 主队:主队(名字前有@,总是排在第二位) 我尝试了以

我有一个足球联赛的数据集:

df.Game.head()

0    Man. City @Cardiff City
1     Southampton @Liverpool
2        Tottenham @Brighton
3          Chelsea @West Ham
4         Wolves @Man United
球队名称前的符号“@”表示主队。我想将该列拆分为三个单独的列:

  • 第一队:第一队
  • 第二队:第二队
  • 主队:主队(名字前有@,总是排在第二位)
  • 我尝试了以下代码:

    df[['team_1', 'team_2']] = df.Game.str.split(' @', expand = True)
    
    df['home'] = df.Game.str.split(' @', expand = True)[1]
    

    有没有更好的办法?也许是单行代码?谢谢大家!

    您不需要
    拆分
    两次

    df[['team_1', 'team_2']] = df.Game.str.split(' @', expand = True)
    df['home'] = df['team 2']
    

    主队总是第二吗?或者有行,例如,你有这个字符串
    @Chelsea West Ham
    ?Hi@Ben。你是对的。即使我真的不需要一分为二。我可以分为两个队——“客队”和“主队”,只有一线队。谢谢