我想:
df[['income_1', 'income_2']] * df['mtaz_proportion']
返回那些列乘以df['mtaz_proportion']
这样我就可以设置
df[['mtaz_income_1', 'mtaz_income_2']] =
df[['income_1', 'income_2']] * df['mtaz_proportion']
但我得到了:
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 ...
等...
我错过了什么简单的事情?
谢谢!
答案 0 :(得分:52)
使用multiply
方法并设置axis="index"
:
df[["A", "B"]].multiply(df["C"], axis="index")
答案 1 :(得分:0)
写HYRY答案的另一种方法:
df.loc[:,['A', 'B']] = df.loc[:,['A', 'B']].multiply(df.loc[:, 'C'], axis="index")