如何将2个pandas数据帧中的2列相互相乘

时间:2017-07-03 11:12:12

标签: python pandas data-science

我有2个像这样的数据框

    DF1:    Col1 Col2
    Row1    A   30
    Row2    B   40

    DF2:  Col1 Col2
    Row1    A   10
    Row2    B   5

现在我想将DF1.Col2和DF2.Col2相乘并获得这样的输出

    Out:   Col1 COl3
    Row1    A   300
    Row2    B   200

我该怎么做?我尝试下面的代码,但它没有工作

DF1[:,'Col3'] = pd.Series(DF1.Col2.astype(int)*DF2.Col2.astype(int),index=DF1.index)

这直接到下面的错误: TypeError:不可用类型

1 个答案:

答案 0 :(得分:3)

我认为你需要:

DF1['Col3'] = DF1.Col2.astype(int)*DF2.Col2.astype(int)
print (DF1)
     Col1  Col2  Col3
Row1    A    30   300
Row2    B    40   200

mul的另一个解决方案:

DF1['Col3'] = DF1.Col2.astype(int).mul(DF2.Col2.astype(int))
print (DF1)
     Col1  Col2  Col3
Row1    A    30   300
Row2    B    40   200