首页 > 解决方案 > 如何将一个熊猫数据框乘以另一个

问题描述

我有一个形状的数据框,(1, 78)它由另一个形状的数据框的 beta 系数组成,这些数据框是(250,000, 78)变量。两个数据框中的列名相互匹配。如何有效地将较大数据帧的每一行乘以第一个数据帧中的系数。

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randint(0,100, size=(1, 78)))
df1 = df1/100

df2 = pd.DataFrame(np.random.randint(0,100, size=(10, 78)))
df2

本质上,最终产品应该是(10, 78)df2 的数据框,其中每列乘以 df1 中的相应列。

标签: pythonpandasnumpy

解决方案


您可以尝试使用np.multiplyand np.resize

final=pd.DataFrame(np.multiply(df2.values,np.resize(df1.values,df2.shape)))
print(final.shape)

推荐阅读