如何将pandas数据框中的每一行乘以不同的值

我试图用不同的值乘以pandas数据框的每一行,并想知道这样做的最佳方法是什么。

例如,如果我具有以下数据框:

import numpy as np

import pandas as pd

df = pd.DataFrame(np.random.randn(2, 3))

df

0 1 2

0 -1.283316 0.849488 1.936060

1 -2.078575 -0.871570 -0.970261

我想将每行的每个元素乘以列表或数组中的不同元素

vals = [1, 100]

在此示例中,我希望第一行中的每个项目乘以1,第二行中的每个项目乘以100

因此,结果应为:

     0          1           2

0 -1.283316 0.849488 1.936060

1 -207.8575 -87.1570 -97.0261

我试过了:

df * vals

df.multiply(vals)

df.multiply(vals, axis=1)

根据我对该代码应该做什么的理解,尽管我也没想到它们也没有用。我想不出一种简单的方法来处理大熊猫,感谢您的任何帮助。

回答:

方法是mul

df.mul([1, 100], axis=0)

Out[17]:

0 1 2

0 -1.198766 -1.340028 1.990843

1 113.890468 -68.177755 -9.060228

以上是 如何将pandas数据框中的每一行乘以不同的值 的全部内容, 来源链接: utcz.com/qa/405905.html

回到顶部