我正在为足球比赛创建淘汰赛。
df = pd.DataFrame()
df['Team1'] = ['A','B','C','D','E','F']
df['Score1'] = [1,2,3,1,2,4]
df['Team2'] = ['U','V','W','X','Y','Z']
df['Score2'] = [2,1,2,2,3,3]
df['Match'] = df['Team1'] + ' Vs '+ df['Team2']
df['Match_no']= [1,2,3,4,5,6]
winner = df.Score1>df.Score2
df['winner'] = np.where(winner,df['Team1'],df['Team2'])
df ['Stage'] ='R16
可以说,上面的代码用于淘汰赛阶段。通过运行上述代码,我们为每场比赛赢得了一名(6名)。每个匹配项均编号为1,2,3,依此类推。
我要做的是为下一阶段的比赛创建另一个日期框架。 在下一阶段,我们将进行3场比赛。 在这些比赛中,将出现奇数比赛号码和偶数比赛号码的获胜者(即,U vs B,C vs X,Y vs F) 我只需要团队加入新的数据框架。 谁能建议我如何选拔那些队伍?
谢谢
Zep
答案 0 :(得分:2)
请尝试
df1=pd.DataFrame()
df1['Team1']=df.loc[0::2,'winner'].values
df1['Team2']=df.loc[1::2,'winner'].values
答案 1 :(得分:1)
您可以使用列表切片some_list[start:stop:step]
winners_list = df['winner'].tolist()
df1 = pd.DataFrame()
df1['Team1'] = winners_list[0::2]
df1['Team2'] = winners_list[1::2]
df
中的获胜者列为列表(您也可以将pandas.core.series.Series
用作切片,但是使用切片来创建数据框时,会因为索引而面临问题)