我正在尝试创建以下“算法”
df['x'] = np.where(sum(df['x'][i-1],10)>0, 5, 10)
这里的想法是,如果从前一个元素开始的最后10个元素的滚动总和为正,然后为5,否则为10。我正在寻找一种无循环的数据框架样式解决方案。
答案 0 :(得分:1)
df["previous"] = df.x.shift(1)
df["previous_rolling_sum"] = df.previous.rolling(2).sum()
df['x'] = np.where(df["previous_rolling_sum"]>0, 5, 10)