我有兩個DataFrames,如下:df1 = name1 name2 name3 .... nameXXX 5.1 1.2 1.1 ... 223.2 3.22 1.34 1.5 ... 213.2 4.3 1.32 1.23 ... 523.2 5.2 1.1 1.543 ... 223.2df2=name1 0.2name2 0.1name3 0.43... ...nameXXX 0.21我需要的 :df3= name1 name2 name3 ... nameXXX 5.1 * 0.2 1.2 * 0.1 1.1 * 0.43 ... 223.2 * 0.213.22* 0.2 1.34* 0.1 1.5 * 0.43 ... 213.2 * 0.214.3 * 0.2 1.32* 0.1 1.2 * 0.43 ... 523.2 * 0.215.2 * 0.2 1.1 * 0.1 1.54* 0.43 ... 223.2 * 0.21s是name列標題基本上,我想將 的每一列乘以列標題的同一行中df1存在的數字df2df1
3 回答
九州編程
TA貢獻1785條經驗 獲得超4個贊
如果name列是您的索引,您可以這樣做
df1.mul(df2.iloc[:,0], axis='columns')
如果它是普通列,則可以將其設置為索引:
df1.mul(df2.set_index(0).iloc[:,0], axis='columns')
輸出:
name1 name2 name3 nameXXX
0 1.020 0.120 0.47300 46.872
1 0.644 0.134 0.64500 44.772
2 0.860 0.132 0.52890 109.872
3 1.040 0.110 0.66349 46.872
揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
我認為您需要更新列,基本上如果您的列數與其他 df 中的行數相同,您可以嘗試:
cols = df1.columns for i in cols: df1[i] = df1[i] * df2.loc[i].values
從電話打字抱歉格式化
添加回答
舉報
0/150
提交
取消
