使新列保持另一列的k尾随分钟的最快方法

时间:2015-08-31 17:37:07

标签: python pandas minimum trailing

我有一个非常大的列的python pandas DataFrame。对于其中一列(称为A列),我需要尽快制作新列(称为E列)或单独的系列。新列E的元素是根据A列中的值确定的。在E列中,每个元素都是通过引用A列的相应元素来设置的,并用元素的最小值和前面的k值替换它。答:我必须多次迭代这个过程,所以速度是我的关注点。

例如,如果k等于2,那么这就是我的数据框:

   A  B  
 v 10 10  
 w 4  8  
 x 11  1     
 y 9  22  
 z 15 5    

我想根据A列

创建以下E列
    E
 v  10
 w  4
 x  4
 y  4
 z  9

为了简化问题,我也可以除了这个结果:

    E
 v  NaN
 w  NaN
 x  4
 y  4
 z  9

1 个答案:

答案 0 :(得分:0)

您可以使用pd.rolling_min并设置window=k+1以使用k+1的回顾窗口计算滚动最小值。

pd.rolling_min(df['A'], window=3)

v   NaN
w   NaN
x     4
y     4
z     9
dtype: float64