1
に、私は広い表形式で時系列値を格納するデータフレームがあります。断面体重時系列データフレーム
market_value = pd.DataFrame({'AAPL':[100,200,400], 'IBM':[50,100,200],'MSFT':[50,200,400]},
index = ['2013-12-31', '2014-12-31', '2015-12-31'])
In [1]: market_value
Out [1]:
AAPL IBM MSFT
2013-12-31 100 50 50
2014-12-31 200 100 200
2015-12-31 400 200 400
を私は任意で各株式の断面重量を計算したいです時間点。 2013年12月31日に例えば、AAPLの重量は次のとおりです。
100/(100+50+50) = 0.50
だから結果は次のようになります。
In [2]: weight
Out [2]:
AAPL IBM MSFT
2013-12-31 0.50 0.25 0.25
2014-12-31 0.40 0.20 0.40
2015-12-31 0.40 0.20 0.40
これをすることによって行われMATLABで
:
weight = market_value ./ repmat(sum(market_value,2), 1, 3)
Pythonでこれを行う最もエレガントな方法は何ですか?