python - Pandas 基于行的计算和迭代

标签 python pandas

我有一个 pandas df,例如如下所示:

%diff          

-0.087704164    
0.003908466 
-0.032150706    
-0.035684163    
0.001682029 
-0.072205803    
0.031636864 
-0.069263158    
-0.214883511    
-0.109286469    
0.274932615 
-0.016913319    
-0.075268817    
0.191906977 
0.043861703 
-0.048598131    
0.01280943  
0.014509621 
0.075564054 
-0.024034701    
0.009107468     
0.023465704     

我想计算 '%diff 列中最后 20 个值的标准差乘以 252 的平方根。

    %diff          std      

    -0.087704164    
    0.003908466 
    -0.032150706    
    -0.035684163    
    0.001682029 
    -0.072205803    
    0.031636864 
    -0.069263158    
    -0.214883511    
    -0.109286469    
    0.274932615 
    -0.016913319    
    -0.075268817    
    0.191906977 
    0.043861703 
    -0.048598131    
    0.01280943  
    0.014509621 
    0.075564054 
   -0.024034701     165.9%
    0.009107468     163.2%
    0.023465704     163.4%

我尝试的代码是:

df1['std'] = 252**(1.0/2) * df1['%diff'].std().split(20)

但我收到不支持的操作数错误

最佳答案

您需要rolling窗口为 20 且 std 类似

df1['std'] = 252**(1.0/2) * df1.rolling(20)['%diff'].std()
print (df1)
       %diff       std
0  -0.087704       NaN
1   0.003908       NaN
2  -0.032151       NaN
3  -0.035684       NaN
4   0.001682       NaN
5  -0.072206       NaN
6   0.031637       NaN
7  -0.069263       NaN
8  -0.214884       NaN
9  -0.109286       NaN
10  0.274933       NaN
11 -0.016913       NaN
12 -0.075269       NaN
13  0.191907       NaN
14  0.043862       NaN
15 -0.048598       NaN
16  0.012809       NaN
17  0.014510       NaN
18  0.075564       NaN
19 -0.024035  1.659144
20  0.009107  1.631865
21  0.023466  1.634266

关于python - Pandas 基于行的计算和迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61879052/

相关文章:

python - Jupiter Python seaborn 热图未显示所有相关性

python - 在 Pandas 中,.iloc 方法是否提供副本或 View ?

python - 在单个模型中使用相同的 related_name。 Django

javascript - 在 Python 中发送表单请求

python - Pandas :在垃圾箱内绘制平均值 - 需要格式化帮助

python - 填写分配百分比列并使其显示良好

python - 如何通过组合数据框中的两个系列来添加新系列?

python - 在 Python pandas 中拆分列

python - Pandas:如果索引和列相同,则将值更改为 NA

python - 在 Pandas 中应用groupby后如何计算列的正数和负数