如果价格连续两次上涨,我试图给出1或是。我尝试使用cumsum,但如果它不是真的,我不知道如何将值重置回零
df["Increased Twice?"] = ((df.shift(1)["Price Change"] == df3bet["Price Change"])).cumsum()
这是我的代码的结果
ProductID Price Change Increased Twice?
2d3Q Increase 0
2d3Q Increase 1
2d3Q Decrease 1
2d3Q Increase 1
2d3Q Increase 2
2d3Q Decrease 2
2d3Q Increase 2
2d3Q Increase 3
这就是我想要的
ProductID Price Change Increased Twice?
2d3Q Increase 0
2d3Q Increase 1
2d3Q Decrease 0
2d3Q Increase 0
2d3Q Increase 1
2d3Q Decrease 0
2d3Q Increase 0
2d3Q Increase 1
我也尝试过一些不同的if-then语句,但我还没有成功
试试
numpy.where()
:让我们试试,首先找到“增加”的位置,然后根据“减少”创建组,然后求和并检查2次增加的计数
输出:
相关问题 更多 >
编程相关推荐