如何在Pandas中将列乘以多列

时间:2021-12-04 04:17:58

I would like to have:

我想拥有:

df[['income_1', 'income_2']] * df['mtaz_proportion']

return those columns multiplied by df['mtaz_proportion']

返回那些列乘以df ['mtaz_proportion']

so that I can set

所以我可以设置

df[['mtaz_income_1', 'mtaz_income_2']] = 
df[['income_1', 'income_2']] * df['mtaz_proportion']

but instead I get:

但相反,我得到:

income_1    income_2    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  
0   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
1   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
2   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...

ect...

what simple thing am I missing?

我错过了什么简单的事情?

Thank you!

1 个解决方案

#1


40  

use multiply method and set axis="index":

使用multiply方法并设置axis =“index”:

df[["A", "B"]].multiply(df["C"], axis="index")

#1


40  

use multiply method and set axis="index":

使用multiply方法并设置axis =“index”:

df[["A", "B"]].multiply(df["C"], axis="index")