如何使用for循环在python中创建Traingular移动平均值

如何使用for循环在python中创建Traingular移动平均值,python,pandas,python-2.7,finance,Python,Pandas,Python 2.7,Finance,我用python熊猫来计算以下公式 () 我在python中这样做: EURUSD['SMA2']= EURUSD['Close']. rolling (2).mean() EURUSD['TMA2']= ( EURUSD['Close'] + EURUSD[SMA2']) / 2 当我计算TMA 100时,问题是长编码,所以我需要使用“for loop”来轻松更改TMA周期。 提前谢谢 编辑: 我已找到代码,但有一个错误: 值=[] 对于范围(1201)内的i:值。追加(欧元兑美元['Clo

我用python熊猫来计算以下公式 () 我在python中这样做:

EURUSD['SMA2']= EURUSD['Close']. rolling (2).mean()
EURUSD['TMA2']= ( EURUSD['Close'] + EURUSD[SMA2']) / 2
当我计算TMA 100时,问题是长编码,所以我需要使用“for loop”来轻松更改TMA周期。 提前谢谢

编辑: 我已找到代码,但有一个错误:

值=[]


对于范围(1201)内的i:值。追加(欧元兑美元['Close'])。滚动(窗口=i)。平均值()值。平均值()TMA是平均值的平均值

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(10, 5))
print(df)
# df['mean0']=df.mean(0)
df['mean1']=df.mean(1)
print(df)

df['TMA'] = df['mean1'].rolling(window=10,center=False).mean()
print(df)
或者你可以很容易地把它打印出来

print(df["mean1"].mean())
下面是它的外观:

          0         1         2         3         4
0  0.643560  0.412046  0.072525  0.618968  0.080146
1  0.018226  0.222212  0.077592  0.125714  0.595707
2  0.652139  0.907341  0.581802  0.021503  0.849562
3  0.129509  0.315618  0.711265  0.812318  0.757575
4  0.881567  0.455848  0.470282  0.367477  0.326812
5  0.102455  0.156075  0.272582  0.719158  0.266293
6  0.412049  0.527936  0.054381  0.587994  0.442144
7  0.063904  0.635857  0.244050  0.002459  0.423960
8  0.446264  0.116646  0.990394  0.678823  0.027085
9  0.951547  0.947705  0.080846  0.848772  0.699036
          0         1         2         3         4     mean1
0  0.643560  0.412046  0.072525  0.618968  0.080146  0.365449
1  0.018226  0.222212  0.077592  0.125714  0.595707  0.207890
2  0.652139  0.907341  0.581802  0.021503  0.849562  0.602470
3  0.129509  0.315618  0.711265  0.812318  0.757575  0.545257
4  0.881567  0.455848  0.470282  0.367477  0.326812  0.500397
5  0.102455  0.156075  0.272582  0.719158  0.266293  0.303313
6  0.412049  0.527936  0.054381  0.587994  0.442144  0.404901
7  0.063904  0.635857  0.244050  0.002459  0.423960  0.274046
8  0.446264  0.116646  0.990394  0.678823  0.027085  0.451842
9  0.951547  0.947705  0.080846  0.848772  0.699036  0.705581
          0         1         2         3         4     mean1       TMA
0  0.643560  0.412046  0.072525  0.618968  0.080146  0.365449       NaN
1  0.018226  0.222212  0.077592  0.125714  0.595707  0.207890       NaN
2  0.652139  0.907341  0.581802  0.021503  0.849562  0.602470       NaN
3  0.129509  0.315618  0.711265  0.812318  0.757575  0.545257       NaN
4  0.881567  0.455848  0.470282  0.367477  0.326812  0.500397       NaN
5  0.102455  0.156075  0.272582  0.719158  0.266293  0.303313       NaN
6  0.412049  0.527936  0.054381  0.587994  0.442144  0.404901       NaN
7  0.063904  0.635857  0.244050  0.002459  0.423960  0.274046       NaN
8  0.446264  0.116646  0.990394  0.678823  0.027085  0.451842       NaN
9  0.951547  0.947705  0.080846  0.848772  0.699036  0.705581  0.436115

欢迎来到SO!请分享一些示例数据和预期输出Hanks prosti先生,我找到了正确的代码,但它给出了一个错误。您能修复它吗-------------------values=[]对于范围(1201)内的i:values.append(欧元兑美元['Close'])。rolling(窗口=i)。mean()值。mean()我站在您这边。:)@MohamedAbass,你能试着更新你的问题吗?