是否存在用于创建矩阵的numpy广播解决方案,该矩阵输出DataFrame中所有列之间的标准差?

以下解决方案非常有用,但仅适用于平均差异(例如独立性等)Pandas - Creating Difference Matrix from Data Frame .
感谢@divakar,@ yayhan,@ jezrael和其他人参与讨论

输入将是DfA

0  A1     B1     C1
1  8.01   9.29   7.31
2  8.23   9.05   7.46
3  8.16   9.68   7.34
4  8.27   8.95   7.05

2期望输出DfM和DfStd,其中每列之间的差异的均值和stdev .

0   St1   St2   St3
1 a1-a1  b1-a1  c1-a1
2 a1-b1  b1-b1  c1-b1
3 a1-c1  b1-c1  c1-c1

我能够使用上一篇文章中描述的np.subtract.outer函数派生平均值矩阵,运行:

[in]:arrmean = np.subtract.outer(*[dfA.mean()]*2).T
[out]: a 3x3 arrear with 9 elements

这是有效的,因为diff的方法产生与均值差异相同的结果 . 对于 Std ,这种关系并不成立 . 使用 np.subtract.outer(*[dfA.std()]*2).T 会产生不正确的矩阵结果 . 我试图用 [np.std(dfA['A1'] - dfA['B1']) 替换 [dfA.std()] ,但是产生1x1的欠款,零值(明显错误)

有任何想法吗?

我手动派生了解决方案,但非常感谢脚本 .