同时对不同货币的收盘价应用移动平均线

问题描述 投票:0回答:1

我想在我的数据框架上同时将单个移动平均线应用于不同的收盘价。

Open    Close   ... High    Low
AUDUSD=X    EURUSD=X    GBPUSD=X    NZDUSD=X    USDCAD=X    USDCHF=X    USDJPY=X    AUDUSD=X    EURUSD=X    GBPUSD=X    ... USDCAD=X    USDCHF=X    USDJPY=X    AUDUSD=X    EURUSD=X    GBPUSD=X    NZDUSD=X    USDCAD=X    USDCHF=X    USDJPY=X
Date                                                                                    
2019-01-02  0.704722    1.146132    1.275234    0.671362    1.36250 0.98180 109.660004  0.704791    1.146171    1.275429    ... 1.36596 0.98925 109.674004  0.698470    1.134572    1.258463    0.666298    1.35690 0.9794  108.730003
2019-01-03  0.692008    1.131734    1.251878    0.663398    1.36300 0.98916 107.449997  0.691898    1.131811    1.252191    ... 1.36440 0.98977 108.271004  0.691946    1.131734    1.251878    0.661559    1.34736 0.9845  106.776001
2019-01-04  0.700722    1.139095    1.262897    0.668852    1.34760 0.98726 107.865997  0.700624    1.139108    1.262881    ... 1.34906 0.99068 108.583000  0.699496    1.134816    1.261782    0.667361    1.33814 0.9852  107.513000
2019-01-07  0.712606    1.141292    1.273285    0.674450    1.33689 0.98577 108.488998  0.712378    1.141044    1.273496    ... 1.33760 0.98577 108.625000  0.711551    1.140524    1.272426    0.673179    1.32882 0.9789  108.036003
2019-01-08  0.714602    1.147934    1.278691    0.675548    1.32967 0.97929 108.642998  0.714592    1.147974    1.278609    ... 1.33190 0.98333 109.077003  0.711789    1.142465    1.271488    0.670979    1.32670 0.9788  108.449997
forex_data_1['Moving average'] = forex_data_1['Close'].rolling(window=30).mean()

ValueError:无法将具有多列的 DataFrame 设置为单列移动平均值

python dataframe moving-average
1个回答
0
投票

关于 df(滚动、平均)的属性通常有效。 问题是你的 df 本身,看来你没有正确解决它。 我猜,forex_data_1['Close'] 没有列。为了进行更深入的分析,您必须以更易读的方式发布数据框。正如@Thokozani 所提到的,如果没有这个,就不可能分析你的错误。

这对我来说效果很好:

import pandas as pd
df=pd.DataFrame({'A':[1.2,1.3,1.4,1.5,7],'B':[2,3,4,5,6]})

df['rollmean'] = df['A'].rolling(window=2).mean()
© www.soinside.com 2019 - 2024. All rights reserved.