尋找一種優雅的方法將 2D 資料框乘以索引和列名對齊的 1D 系列
df1 =
| 指數 | 一個 | 乙 |
|---|---|---|
| 1個 | 1個 | 5個 |
| 2個 | 2個 | 6個 |
| 3個 | 3個 | 7 |
| 4個 | 4個 | 8個 |
df2 =
| 系數 | |
|---|---|
| 一個 | 10 |
| 乙 | 100 |
就像是...
df3 = df1.mul(df2)
要得到 :
| 指數 | 一個 | 乙 |
|---|---|---|
| 1個 | 10 | 500 |
| 2個 | 20 | 600 |
| 3個 | 30 | 700 |
| 4個 | 40 | 800 |
uj5u.com熱心網友回復:
沒有 1D DataFrame 這樣的東西,你需要切片為 Series 以獲得 1D,然后multiply(默認情況下axis=1):
df3 = df1.mul(df2['Coef'])
輸出:
A B
1 10 500
2 20 600
3 30 700
4 40 800
如果 Index 是一列:
df3 = df1.mul(df2['Coef']).combine_first(df1)[df1.columns]
輸出:
Index A B
0 1.0 10.0 500.0
1 2.0 20.0 600.0
2 3.0 30.0 700.0
3 4.0 40.0 800.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/535597.html
標籤:Python熊猫数据框
