我有羽毛球得分的df。团队的每组游戏都在行上,列上每个点的得分如下:
0 0 1 1 2 3 4
0 1 2 3 3 4 4
我想在得分时只获得O和1,如下:(分析点中是否有任何模式):
0 0 1 0 1 1 1
0 1 1 1 0 1 0
我在考虑使用df.itertuples()和iloc以及条件将1属性设置为新数据帧,如果下一个得分=得分+ 1或0,如果下一个得分=得分+ 1
但是我不知道如何遍历生成的元组以及如何在好的位置生成带有0和1的新df。
希望很明白感谢您的帮助。 哦,那之后分析模式的任何建议?
答案 0 :(得分:1)
您只需要diff
(如果您需要将其转换回来,请尝试cumsum
)
df.diff(axis=1).fillna(0).astype(int)
Out[1382]:
1 2 3 4 5 6 7
0 0 0 1 0 1 1 1
1 0 1 1 1 0 1 0