在pandas中选择要平均的列(同时排除一个)

2024-06-16 11:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将股票收益率的平均值与基准值进行比较,到目前为止,我的代码如下:

 index = ['^GSPC']
 tickers = ['CAT','AAPL']
 stocks = tickers + index
 start = dt.datetime(2017,1,1)
 end = dt.datetime(2017,6,30) 

 def excess_movement_plot(stocks):
     f = web.get_data_yahoo(tickers,start,end)
     cleanData = f.loc['Adj Close']
     dataFrame = pd.DataFrame(cleanData)
     stock_return = dataFrame.pct_change() 
     return plt.plot(stock_return[stocks])  

到目前为止,图表显示了三条线,但我希望它只显示2条线——股票指数(AAPL和CAT)和标准普尔指数(^GSPC)的平均值

我试过这两种,但收效甚微。在

^{pr2}$

Tags: dataframedatetimeindexreturnplotdtstartcat
1条回答
网友
1楼 · 发布于 2024-06-16 11:29:52

我认为您应该使用axis=1,而不是{}。在

df['Average'] = df[['B', 'C']].mean(axis=1)
df.head()

          A         B         C   Average
0  0.622956 -1.268788  0.160945 -0.553922
1  0.934346 -0.218623 -1.431491 -0.825057
2  0.311257  1.804876  1.791297  1.798086
3  1.264148  0.811027  0.229493  0.520260
4 -0.468134 -2.323339  0.151989 -1.085675

相关问题 更多 >