python - 选择 Pandas 中的平均列(同时排除一列)

标签 python pandas dataframe merge yahoo-finance

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

 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/

相关文章:

python - 制作单行数据框

R - 如何删除数据框中的两个准相同行?

python - 将 N 个元素按照桶大小的比例分配到 M 个不同大小的桶中

python - 不能 Pickle memoize 类实例

python - 停止 seaborn 在彼此之上绘制多个图形

python - 时间序列混合时出现 TypeError : cannot concatenate a non-NDFrame object,

python - Pandas 根据频率表绘制密度图

python - 在 Armbian 上从 i2c 2 读取 BME680

python - 按列查找包含 NaN 元素的 pandas DataFrame 的最小值

Python Pandas : Multi Indexed columns DataFrame merging task