我有像这样的pandas数据框
A B D E
2 12 1 2
3 54 1 4
10 2 1 1
我想将C和D列中的值乘以A中的值,但保留B列中的值。所以从上面的数据框中,我得到的结果将是:
A B D E
2 12 2 4
3 54 3 12
10 2 10 10
但是,我想要修改很多列,而不是像示例中那样只有2个。因此,我想知道最有效的方法是什么。
我正在查看DataFrame.assign函数,但有了这个,我似乎只能修改1列。
谢谢!
答案 0 :(得分:1)
我从不知道“最有效”的问题是怎么做的。但是如果你想要那个输出,你可以使用mul
:
>>> df.loc[:,["D","E"]] = df[["D","E"]].mul(df["A"], axis=0)
>>> df
A B D E
0 2 12 2 4
1 3 54 3 12
2 10 2 10 10
您可以将["D","E"]
替换为list_of_columns
,这样您就不必重复列名。