我正在尝试将股票返回率的平均值与基准进行比较,到目前为止我的代码如下所示:
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)以及 S&P (^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
关于python - 选择 Pandas 中的平均列(同时排除一列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44979248/