我在下面有df1
。我將其複製到df2
以節省df1
;那麼我使用df3
來計算超過df2
。在Dataframe Pandas的行上應用權重公式
df2=df1.copy()
我要計算這樣的重量Weight(A) = Price(A)/Sum(row_Prices)
並將其返回到df2
下面的價格,如對於每一行,我得到3行數據,價格,性病和重排。我也想計算行上的std,我想它是一個類似的形式。
我已經試過這
df3 = df2.iloc[1:,1:].div(df2.iloc[1:,1:].sum(axis=1), axis=0)
拿到重物,然後打印df3
,但它不工作。
對於每個日期獲取2行我試圖堆垛.stack()
但我可能做錯了。幫幫我!謝謝
A B C D E
2006-04-27 00:00:00
2006-04-28 00:00:00 69.62 69.62 6.518 65.09 69.62
2006-05-01 00:00:00 71.5 71.5 6.522 65.16 71.5
2006-05-02 00:00:00 72.34 72.34 6.669 66.55 72.34
2006-05-03 00:00:00 70.22 70.22 6.662 66.46 70.22
2006-05-04 00:00:00 68.32 68.32 6.758 67.48 68.32
2006-05-05 00:00:00 68 68 6.805 67.99 68
2006-05-08 00:00:00 67.88 67.88 6.768 67.56 67.88
我想它很好的輸出繼電器這樣:
A B C D E
2006-04-27 00:00:00
2006-04-28 00:00:00
price 69.62 69.62 6.518 65.09 69.62
weight
std
2006-05-01 00:00:00
price 71.5 71.5 6.522 65.16 71.5
weight
std
2006-05-02 00:00:00
price 72.34 72.34 6.669 66.55 72.34
weight
std
是的這只是一個錯字這裏..我得到了df1的副本。雖然 – uniXVanXcel
你是怎麼得到'df1'的?您的索引名稱:'2006-04-27 23:55:00'看起來很奇怪...你可以發佈'print(df2)'和'print(df2.index)' – MaxU
的輸出,我只是簡單地將索引修改爲在頂部添加一行另一組值,但在我看來這不是那麼相關。爲了避免混淆,我改變了桌子。謝謝 – uniXVanXcel