亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用另一個數據框的值,根據列名乘以熊貓數據框的行

使用另一個數據框的值,根據列名乘以熊貓數據框的行

catspeake 2022-12-27 17:17:37
我有兩個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


查看完整回答
反對 回復 2022-12-27
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

讓我們做

df1=df1.mul(df2,axis=1)


查看完整回答
反對 回復 2022-12-27
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

我認為您需要更新列,基本上如果您的列數與其他 df 中的行數相同,您可以嘗試:

cols = df1.columns for i in cols: df1[i] = df1[i] * df2.loc[i].values

從電話打字抱歉格式化


查看完整回答
反對 回復 2022-12-27
  • 3 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號