如何在熊猫中将数据框列与数据框列相乘?

时间:2020-03-25 04:43:04

标签: pandas dataframe

我想将hdataframe列与dataframe列相乘。

我有两个数据框,如下所示:

A dataframe,  B dataframe
a b c d          e 
3 4 4 4          2
3 3 3 3          3
3 3 3 3          4

我想乘A和B。

乘法结果应该是这样的:

a   b  c  d 
6   8  8  8
9   9  9  9
12 12 12 12

我只是尝试*乘法,但是得到了错误的结果。

提前谢谢!

4 个答案:

答案 0 :(得分:4)

使用B.valuesB.to_numpy()将返回numpy数组,然后可以与DataFrame相乘

例如:

>>> A
   a  b  c  d
0  3  4  4  4
1  3  3  3  3
2  3  3  3  3
>>> B
   c
0  2
1  3
2  4

>>> A * B.values
    a   b   c   d
0   6   8   8   8
1   9   9   9   9
2  12  12  12  12

答案 1 :(得分:1)

@Dishin出色答案的另一种形式:


通过将B设置为序列并在索引上进行乘数运算,U可以使用熊猫mul方法将A乘以B:

A.mul(B.iloc[:,0],axis='index')

    a   b   c   d
0   6   8   8   8
1   9   9   9   9
2   12  12  12  12

答案 2 :(得分:1)

通过选择static/ css/ js / media/ node_modules/ path/to/my/local/source/code node_modules src 列,将DataFrame.mulSeries一起使用:

e

答案 3 :(得分:0)

我认为您正在寻找mul函数,如在此线程here上所示,这是代码。

df = pd.DataFrame([[3, 4, 4, 4],[3, 3, 3, 3],[3, 3, 3, 3]])
val = [2,3,4]
df.mul(val, axis = 0)

以下是结果:

    0   1   2   3
0   6   8   8   8
1   9   9   9   9
2  12  12  12  12

忽略索引。