将两个数据框相乘以创建MultiIndex

时间:2020-05-04 04:41:47

标签: python pandas dataframe multi-index

我正在尝试使用以下代码来计算某个股票池的个人投资组合的加班价值。 stockOwnership.csv文件非常简单,只列出了股票以及每个人拥有多少股票。看起来像这样:

    Ticker, NameA, NameB, NameC
      ALXN,    10,      ,   100
      AMZN,    12,    15,      
      BABA,      ,   150,    12
      BCRX,      ,      ,   175

然后,我使用以下代码导入csv,并使用Yahoo Finance提取库存数据。价格看似是一个MultiIndex,但我能够隔离每日收盘价并“压缩”(不确定正确的术语),使其不再是prices_2中的MultiIndex。

    import yfinance as yf
    import pandas as pd

    stock_list ='ALXN AMZN BABA BCRX'

    ownership = pd.read_csv('stockOwnership.csv', index_col='Ticker')

    prices = yf.download(stock_list, start="2020-03-20", end="2020-06-30",    
    group_by='ticker')

    idx=pd.IndexSlice
    prices_2 = prices.loc[idx[:], idx[:,'Close']]
    prices_2.columns = prices_2.columns.get_level_values(0)

Prices_3只是P_2换位,因为我的意图是与所有权结合并按日期为每个人计算投资组合价值。

    prices_3 = prices_2.T
    prices_3.index = prices_3.index.rename("Ticker")

在此之后,我有点迷茫。我想将两个数据框相乘,我想我的理想结果将是一个multiIndex,显示在日期范围内每个人的每个股票的价值。这将使我能够按日期汇总总价值。我尝试了一个简单的mul(),但它只是将与每个人相关联的列添加到末尾,每个值似乎都是NaN。

0 个答案:

没有答案