我正在寻找使用类似于sumproduct的函数从现有数据帧创建子数据帧的帮助。我想使用列标题将此表转换为小数乘积:

    dan ste bob
t1  0   2   0
t2  2   0   1
t3  2   1   0
t4  1   0   2
t5  0   1   2


列标题成为索引,并且乘积之和为值:

    dan ste bob
dan 9   2   4
ste 2   6   2
bob 4   2   9


丹x丹= 9(0 * 0)+(2 * 2)+(2 * 2)+(1 * 1)+(0 * 0)

提前致谢!

最佳答案

您可以使用dot及其转置:

In [11]: df.T.dot(df)
Out[11]:
     dan  ste  bob
dan    9    2    4
ste    2    6    2
bob    4    2    9

关于python - Python Pandas交叉表sumproduct平方矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46859111/

10-12 20:58