Python 返回dataframe中每对行之间的获胜行
我有一个NBA比赛的数据框,我有分数,但我想有一行,如果球队赢了那场比赛,它包含一个二进制值1。我知道它可能有一些与'groupby'功能,但我不是很有经验。以下是数据框:Python 返回dataframe中每对行之间的获胜行,python,pandas,Python,Pandas,我有一个NBA比赛的数据框,我有分数,但我想有一行,如果球队赢了那场比赛,它包含一个二进制值1。我知道它可能有一些与'groupby'功能,但我不是很有经验。以下是数据框: 如果您的数据按如下所示进行排序: df['Win'] = (df['Total'].iloc[::2] .gt(df['Total'].iloc[1::2].values) .astype(float) ) df['Win'] = df[
如果您的数据按如下所示进行排序:
df['Win'] = (df['Total'].iloc[::2]
.gt(df['Total'].iloc[1::2].values)
.astype(float)
)
df['Win'] = df['Win'].fillna(1-df['Win'].shift())
输出:
Game Total Win
0 1 107 1.0
1 1 97 0.0
2 2 90 1.0
3 2 77 0.0
4 3 111 1.0
5 3 103 0.0
您可以添加数据框作为文本或代码来生成此数据框吗?@suppressionslayer:看游戏编号:两个队是连续的。啊,我现在看到它反映了@ScottBoston,df[0:9]中的文本数据。如果是抄写或类似的内容,我会很高兴看到它have@QuangHoang回答了但如果你们还好奇,这是我用的刮刀,另一半由于结构不对等的数据而被破坏: