如何在python中打印比较矩阵?

时间:2018-01-20 09:49:10

标签: python

你可能知道如何在python中打印一个比较矩阵,我有5个变量,我将T测试(定义一个函数作为ttest,在两个数据样本之间应用T测试)一个接一个地得到10比较结果,现在我想像结果相关矩阵或表一样可视化结果,以显示结果。列和行标签将是相同的5个变量,每个变量之间的比较结果将填入表中。如果在python中没有这样的功能,也许一些乳胶代码也会很好。

1 个答案:

答案 0 :(得分:0)

你的问题非常不清楚,但我想我可以模糊地看到你想要的东西......

因此,您有list(或其他一些数据类型),其中包含5个元素,并希望将function应用于2元素的每个组合。

我们可以使用itertools.combination

来实现这一目标
>>> import itertools
>>> l = [4, 5, 5, 7, 9]
>>> list(itertools.combinations(l, 2))
[(4, 5), (4, 5), (4, 7), (4, 9), (5, 5), (5, 7), (5, 9), (5, 7), (5, 9), (7, 9)]

如您所见,我们现在可以访问10种不同的组合。

所以让我们假装你的功能就像一个总和:

def add(a, b):
     return a + b

我们现在可以将此功能应用于每个组合,并将结果输出到list的新list-comprehension

[add(*c) for c in itertools.combinations(l, 2)]

,对于我们的例子,它给出了:

[9, 9, 11, 13, 10, 12, 14, 12, 14, 16]

这是正确的。