python - 返回数据框中每对行之间的获胜行

标签 python pandas

我有一个 NBA 比赛的数据框,并且有分数,但如果球队赢得了那场比赛,我还希望有一行包含二进制值 1。我知道它可能与“groupby”功能有一些关系,但我对此不太有经验。这是数据框:

A look at the data frame

最佳答案

如果您的数据按如下所示排序:

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

关于python - 返回数据框中每对行之间的获胜行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59274185/

相关文章:

python - Pb 将 pandas.Series 列表转换为 pandas.Series 的 numpy 数组

python - 在 Pandas 数据框中迭代两个连续行的 Pythonic 方法是什么?

python - 您是否必须为部署选择 pickle scaler 和 ML 模型?

python - 解包函数返回到 pandas 数据框列

python - 如何使用带有此数据的 Pandas 绘制饼图

python-2.7 - Pandas 从 python 中的字符串列中删除数字

python - Qlabel 位于 QGridLayout 前面

python - 聚合前的算术运算

python - 对同一列应用不同的重采样方法(pandas)

python - 跨 Pandas DataFrame 中多列的映射方法