【发布时间】:2022-11-25 10:42:21
【问题描述】:
我有一个看起来像这样的数据框。每个有两行。这些代表得分最高的行是获胜者的游戏:
id points
677 5
677 15
678 25
678 6
我想在数据框中生成一个新列“win”,以便具有相同 ID 且点数较高的行获得值 1,较小的为 0。
像这样:
id points win
677 5 0
677 15 1
678 25 1
678 6 0
我想我可以做这样的事情,但无法弄清楚如何让 diff 根据大于或小于的条件输出一个值,然后推送到一个新列。
print(df.set_index('id').groupby(level=0).diff().query('points' > 0).index.unique().tolist())
【问题讨论】: