在matplotlib中打印变量数据

2024-06-26 09:26:55 发布

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

我下面的代码允许用户根据行业/子行业等查找股票回报

sector='XLF'
subindustry='Insurance Brokers'
tickers = ['']
benchmark = ['^OEX']

stocks = tickers + benchmark + sector + subindustry 

这将编译成df,其中计算股票回报:

stock_return = dataFrame.pct_change()

我想要的是一个plt.绘图只显示输入数据的行。e、 g.如果有人只进入行业“XLF”和基准-我只想这两个。到目前为止,如果我这样做,我会得到一个错误,说KeyError:“['Average''Sector''Sub industry']not in index”

stocks_sorted = {'T': tickers,
     'B': benchmark,
     'S': sector,
     'Sub': subindustry}


def average_data(stocks):
    for stock in stocks:
        if len(stocks_sorted['T']) >= 2:
            stock_return['Average'] = stock_return[tickers].apply(np.mean,axis=1)
        if len(stocks_sorted['Sub']) >=2:
            stock_return['Sub-industry'] = stock_return[subindustry].apply(np.mean,axis=1)
        if len(stocks_sorted['S']) >= 2:
            stock_return['Sector'] = stock_return[sector].apply(np.mean,axis=1) 
    return stock_return

plt.plot(stock_return[['Average','^OEX','Sector','Sub-industry']]*100)

我的预期输出是只绘制实际提供数据的列,而忽略其他列(对于其他场景,反之亦然)。谢谢


Tags: lenreturnifstockbenchmarksortedaverage行业