将pandas数据帧和系列乘以元素

wwl*_*wwl 4 python pandas

让我们说我有一个熊猫系列:

import pandas as pd
x = pd.DataFrame({0: [1,2,3], 1: [4,5,6], 2: [7,8,9] })
y = pd.Series([-1, 1, -1])
Run Code Online (Sandbox Code Playgroud)

我希望以这样的方式乘以x和y:

z = pd.DataFrame({0: [-1,2,-3], 1: [-4,5,-6], 2: [-7,8,-9] })
Run Code Online (Sandbox Code Playgroud)

换句话说,如果系列的元素j是-1,则x的第j行的所有元素乘以-1.如果系列的元素k是1,则x的第j行的所有元素乘以1.

我该怎么做呢?

cod*_*der 10

你可以这样做:

>>> new_x = x.mul(y, axis=0)
>>> new_x
   0  1  2
0 -1 -4 -7
1  2  5  8
2 -3 -6 -9
Run Code Online (Sandbox Code Playgroud)