考虑下面的数据文件
df = pd.DataFrame()
df['Amount'] = [13,17,31,48]
我想计算每一行“金额”列前两个值的标准差。例如:
-
对于第三行,该值应为17和13的标准值(即2)。
-
对于第四行,该值应为标准值31和17(即7)。
这就是我所做的:
df['std previous 2 weeks'] = df['Amount'].shift(1).rolling(2).std()
但这是行不通的。我以为我的问题是索引问题。但这与求和法完美结合。
df['total amount of previous 2 weeks'] = df['Amount'].shift(1).rolling(2).sum()
PD:我知道这可以通过其他方式实现,但我想知道这不起作用的原因(以及如何修复)。