python Pandas

时间:2015-08-11 16:04:37

标签: python pandas dataframe

我有像这样的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列。

谢谢!

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,这样您就不必重复列名。