我有一个数据框与股票价格。以下,但本例中正好为4500行股价获取iteritems中的所有列循环熊猫
>>
DATE MMM US Equity AIR US Equity
1/3/2000 47.19 17.56
1/4/2000 45.31 17.63
1/5/2000 46.63 17.81
1/6/2000 50.38 17.94
我创建了移动使用平均iteritems与后续
>>>for stockname, stock in df.iteritems():
# Create 10,30,50,100 and 200D MAvgs
MA10D = stock.rolling(10).mean()
MA30D = stock.rolling(30).mean()
MA50D = stock.rolling(50).mean()
MA100D = stock.rolling(100).mean()
MA200D = stock.rolling(200).mean()
df_stockname = pd.concat([df[[1]],MA10D,MA30D,MA50D,MA100D,MA200D],axis=1)
问题是,这只能说明在循环的最后一个项目( AIR US Equity股票)。我如何获得MA10D,MA30D等等的回路中的第一只股票(即MMM美国股票是df中的第一只股票)。我该如何做到这一点
我最终希望能够创建两个数据帧,每个股票与股票价格,MA10D,MA30D,MA50D,MA100D和MA200D一个。所以我最终需要一种方法来命名每个数据帧并更改concat中的df [[#]]。
为什么你需要iteritems这个?您可以直接应用滚动平均值。 –
我刚刚使用了另一个在stackoverflow上提供的答案。如果你有更好的方法,那么很高兴应用它。最初这个人建议这将是一个好方法,因为最终我的数据帧将会非常大(10,000列),响应者说这种方式使用更少的内存。我试图找到如何获得单个项目,这样我可以将每个单独的股票的所有信息组合在一起,因此需要到iteritems循环内的个人股票列 –