将列的每个元素乘以不同数据帧的每个元素

时间:2019-04-24 14:00:12

标签: python data-manipulation

我有两个都具有相同列数的数据帧,但第一个数据帧具有多行,而第二个数据帧仅具有一行,但列数与第一个相同。我需要将第一个数据框的条目与第二个数据框的条目乘以列名。

DF:1   A B C 0 34 54 56 1 12 87 78 2 78 35 0 3 84 25 14 4 26 82 13

DF:2

A B C 0 2 3 1

结果 A B C 6816256 24261 78 156105 0 168 75 14 52 246 13

2 个答案:

答案 0 :(得分:0)

for col in df1.columns:
    df1[col] = df1[col].apply(lambda x: x * df2[col])

可能是一个更简单的解决方案。尝试应用,映射和变换

答案 1 :(得分:0)

这将起作用。在这里,我们正在操纵DataFrame中的numpy数组。

pd.DataFrame(df1.values*df2.values, columns=df1.columns, index=df1.index)