我有一个包含以下列的Pandas数据框:
blocked, rolling_mean, cumulative_i
我尝试创建一个新列,其中:
c_U(i)=最大值(0,阻塞的_i-(滚动平均值_i+k)+c_(i-1))——其中k=2
我目前的做法是:
for i in range(df.shape[0]):
if i > 1:
df.ix[i, 'cumulative_i'] = max(0, df['blocked'].iloc[i] -(df['rolling_mean'].iloc[i] + k) + df['cumulative_i'].iloc[i - 1])
有没有一种更像Python的方法?在
编辑:
我试着做以下事情。在
^{pr2}$在第三行向量化输出下。如果不加上前面的值,那么213.72等于。在
这是我期望的输出,如果我只是做
df['cumulative_i'] = np.maximum(0, df['blocked'] - (df['rolling_mean'] + k))
目前没有回答
相关问题 更多 >
编程相关推荐