我有2个数据框:
df_1 = pd.DataFrame({"c1":[2,3,5,0],
"c2":[1,0,5,2],
"c3":[8,1,5,1]},
index=[1,2,3,4])
df_2 = pd.DataFrame({"u1":[1,0,1,0],
"u2":[-1,0,1,1]},
index=[1,2,3,4])
对于“ c”和“ u”的每个组合,我想计算点积,例如用np.dot()
。
例如,c1-u1的值是这样计算的:2 * 1 + 3 * 0 + 5 * 1 + 0 * 0 = 7
结果数据框应如下所示:
u1 u2
c1 7 3
c2 6 6
c3 13 -2
是否有解决此问题的“优雅”方法,还是唯一的遍历两个数据框的方法?
您的意思是:
df_1.T @ df_2
# or equivalently
# df1.T.dot(df2)
输出:
u1 u2
c1 7 3
c2 6 6
c3 13 -2