如何计算Pandas DataFrame中每滚动n行之间的百分比变化?以第二行为例:
给出以下数据框:
>df = pd.DataFrame({"A":[14, 4, 5, 4, 1, 55],
"B":[5, 2, 54, 3, 2, 32],
"C":[20, 20, 7, 21, 8, 5],
"D":[14, 3, 6, 2, 6, 4]})
我希望生成的DataFrame为:
但是,我通过使用此代码获得的最接近的信息:
>df.iloc[::2,:].pct_change(-1)
这将导致以下结果:
它正在为每隔一行执行计算,但这与计算每第n行的滚动窗口不同。我碰到过类似的Stack帖子,但该示例并不十分简单。
此外,作为奖励,我想将输出结果显示为两位小数的百分比。
谢谢您的时间!
答案 0 :(得分:0)
知道了!为“ pct_change()”使用选项“ periods”。
>df.pct_change(periods=-n) #where n=2 for the given example.