如何将pandas数据框中的每一行乘以不同的值
我试图用不同的值乘以pandas数据框的每一行,并想知道这样做的最佳方法是什么。
例如,如果我具有以下数据框:
import numpy as npimport 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 20 -1.283316 0.849488 1.936060
1 -207.8575 -87.1570 -97.0261
我试过了:
df * valsdf.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