首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Pandas中将多列乘以一列

如何在Pandas中将多列乘以一列
EN

Stack Overflow用户
提问于 2014-03-28 09:56:24
回答 2查看 53.1K关注 0票数 58

我想要:

代码语言:javascript
复制
df[['income_1', 'income_2']] * df['mtaz_proportion']

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

这样我就可以设置

代码语言:javascript
复制
df[['mtaz_income_1', 'mtaz_income_2']] = 
df[['income_1', 'income_2']] * df['mtaz_proportion']

但我得到的却是:

代码语言:javascript
复制
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...

我错过了什么简单的东西?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-28 10:01:41

使用multiply方法并设置axis="index"

代码语言:javascript
复制
df[["A", "B"]].multiply(df["C"], axis="index")
票数 91
EN

Stack Overflow用户

发布于 2020-08-29 22:53:20

另一种写HYRY答案的方式:

代码语言:javascript
复制
df.loc[:,['A', 'B']] = df.loc[:,['A', 'B']].multiply(df.loc[:, 'C'], axis="index")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22702760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档