如何找到分组数据的重要性

How to find significancy of grouped Data

我有这样的分组列预分组结果

Letters Numbers
A 1
A 2
A 3
B 1
B 2
B 3
C 1
C 1
C 1

现在我想做的是,定义 C 是 1s 的重要因素,因为它在那里是 100%,但对于 A 或 B,它只有 33%。我想证明 C 与 A 和 B 有很大不同。

我认为应该有 pandas 和数据框的解决方案,但我不太确定如何找到该值。我可以使用哪种 pandas 方法来找到该值?

预期输出: C 的结果谱明显不同于 A 和 B。这个显着性因素证明了这一点(这个因素是我搜索的)

提前感谢您的帮助:)。

您可以通过检查.eq(1) and then group by Letters and use .GroupBy.sum() to get the count of 1's. Then, divide by the group size by using .GroupBy.size()来尝试检查组中1的个数,如下:

df['Numbers'].eq(1).groupby(df['Letters']).sum() / df.groupby(df['Letters']).size() 

结果:

Letters
A    0.333333
B    0.333333
C    1.000000
dtype: float64

这是另一种方式:

number = 1
df.groupby('Letters')['Numbers'].value_counts(normalize=True).loc[(slice(None),number)]

我通过更多地使用我的数据找到了答案。 答案是构建一个包含 6 列的新数据框

A B C 1 2 3
1 - - 1 - -
1 - - - 1 -
1 - - - - 1
- 1 - 1 - -
- 1 - - 1 -
- 1 - - - 1
- - 1 1 - -
- - 1 1 - -
- - 1 1 - -

这样我就可以使用 pandas 的 corr 函数,看看我的“C”到底有多重要。