仅计算所选行的数据帧操作

时间:2018-01-06 06:11:20

标签: python pandas dataframe

我有基于时间序列的数据。

time,val  
2018-04-25,30  
2018-04-26,10  
2018-04-27,-30  
2018-04-28,0  
2018-04-29,60 

我需要添加4列:

 1. mean  
 2. average  
 3. (shifted)shifted val by 1  
 4. (diff)1 if val>0 else 0

首先,我将其计算为:

df['mean'] = df[val].ewm(span=3, adjust=False, ignore_na=False).mean()  
df['average'] = df[val].rolling(window=3, center=False).mean()
df['shifted'] = df[val].shift(1)
df['diff'] = 0
df['diff'][df['val']>0]=1

这是一个包含数百万行的大型数据集。所以我希望每次为此添加一行时,只应对新添加的行进行计算。 我使用的列表示我对实际数据应用的操作类型。 并且计算持续时间间隔以秒为单位。所以速度和性能很重要。

有没有办法实现这个目标?

0 个答案:

没有答案