如何使用for循环在python中创建Traingular移动平均值
我用python熊猫来计算以下公式 () 我在python中这样做:如何使用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
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,你能试着更新你的问题吗?