python pandas crosstab 和积方阵

标签 python pandas

我正在寻求帮助,使用类似于 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 pandas crosstab 和积方阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46859111/

相关文章:

python - 检查 django 空表对象不起作用

python - Pandas:每行中最大 3 列值的总和

python - Pandas : Replace string column values

python - 订阅发出禁止错误

python - sqlite中的变量表名

java - 在Java中查找集合的所有分区

python - 匹配 Pandas 列列表中的单词并分配分数

python - 在矩阵图上绘图

python - 如何使用数据帧的值作为列并有选择地在其中放入值?

python - 遍历一列列表并根据列表顺序附加其他列