Python 如何将数据帧中的每一行乘以不同的值
我试图用一个不同的值乘以熊猫数据帧的每一行,并想知道最好的方法是什么 例如,如果我有以下数据帧:Python 如何将数据帧中的每一行乘以不同的值,python,pandas,Python,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 我想用列表或数组中的不同
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)
基于我对代码应该做什么的理解,这些都不起作用,尽管我并不期望它们也起作用。我想不出一个简洁的方法来处理熊猫,非常感谢您的帮助。方法是:
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