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

Picking columns to average in pandas (while excluding one)

我正在尝试将股票的平均值 returns 与基准进行比较,到目前为止我的代码如下所示:

 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) 的平均值

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

 stock_return[['AAPL', 'CAT']].mean(axis=0)
 stock_return.merge('AAPL', 'CAT') 

我认为你应该使用 axis=1,而不是 0

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