我试图将一个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
Run Code Online (Sandbox Code Playgroud)
我想将每行中的每个元素乘以列表或数组中的不同元素
vals = [1, 100]
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我希望第一行中的每个项目乘以1,第二行中的每个项目乘以100
结果应该是:
0 1 2
0 -1.283316 0.849488 1.936060
1 -207.8575 -87.1570 -97.0261
Run Code Online (Sandbox Code Playgroud)
我试过了:
df * vals
df.multiply(vals)
df.multiply(vals, axis=1)
Run Code Online (Sandbox Code Playgroud)
根据我对该代码应该做什么的理解,这些都没有用,虽然我也没想到它们.我无法弄清楚用熊猫做一个简洁的方法,感谢任何帮助.
ayh*_*han 17
方法是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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11083 次 |
| 最近记录: |