我试图自己乘一个方阵。
df2 = pd.DataFrame({'C1':[0, 0, 0.7],
'C2':[0.5, 0, 0],
'C3':[0.7, 0.3, 0]
}
)
试图做点产品:
df2.dot(df2)
结果应该是
0.49 0.00 0.15
0.21 0.00 0.00
0.00 0.35 0.49
但是,我得到了以下错误。
ValueError: matrices are not aligned
不应该存在值错误,因为维度没有问题。有什么问题吗?
PS: df2.乘法(Df2)不是解决方案,因为它是一个按元素进行的乘法。
PS2: --我正在寻找一种方法,它将提供与Excel中的"mmul“函数相同的结果。
发布于 2022-07-03 14:17:34
DataFrame的列名和其他索引必须包含相同的值,因为它们将在乘法之前对齐。
您可以使用numpy数组代替。
out = df2.dot(df2.values)
print(out)
0 1 2
0 0.49 0.00 0.15
1 0.21 0.00 0.00
2 0.00 0.35 0.49
https://stackoverflow.com/questions/72846956
复制相似问题