如果我有很多列,我如何將每列中的觀察值乘以它們對應的概率(存盤在概率列中)?
如果我只想做一個專欄,我可以做
df['new'] = df['0'] * df['probability']
但我想用許多列來做到這一點并保留結果答案(無論是用這些替換舊的觀察結果還是將答案存盤在新的資料框中)。
我的想法是使用 apply...like
df_t.assign(new_df = lambda df: df.apply(max * df.x, axis=1, raw=False, result_type=None))
但這并不能讓我到達那里(或作業),而且我不確定如何到達那里。Df.x 將代表任何列。
df = pd.DataFrame([[1.5, 2.3, .4], [5.6, 2.4, .2], [5, 4, .2]], columns=['0', '1', 'probability'])
uj5u.com熱心網友回復:
mul我們可以與軸相乘:
cols = df.columns.drop('probability')
df[cols] = df[cols].mul(df['probability'], axis=0)
輸出:
0 1 probability
0 0.60 0.92 0.4
1 1.12 0.48 0.2
2 1.00 0.80 0.2
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435573.html
