让我们说我有一个熊猫系列:
z = pd.DataFrame({0: [-1,2,-3], 1: [-4,5,-6], 2: [-7,8,-9] })
我想以这样的方式乘以x和y,我得到z:
self.ratingsButton.append(button)
换句话说,如果系列的元素j是-1,那么x的第j行的所有元素都将乘以-1。如果系列的元素k是1,那么x的第j行的所有元素都将乘以1.
我该怎么做?
答案 0 :(得分:7)
你可以这样做:
>>> new_x = x.mul(y, axis=0)
>>> new_x
0 1 2
0 -1 -4 -7
1 2 5 8
2 -3 -6 -9
答案 1 :(得分:2)
尽管这个问题很旧,但我要补充一点,如果函数返回一堆毫无意义的NaN,则应乘以所讨论的序列的值,如下所示:
new_x = df.mul(s.values, axis=0)
答案 2 :(得分:1)
正如Abdou指出的那样,答案是
z = x.apply(lambda col: col*y)
此外,如果你改为使用DataFrame,例如
y = pandas.DataFrame({"colname": [1,-1,-1]})
然后你可以做
z = x.apply(lambda z: z*y["colname"])
答案 3 :(得分:1)
您可以直接乘以数据帧。
x * y