如何使用第一个列联表的计数值从另一个列联表中创建列联表?

时间:2019-01-08 04:49:08

标签: python pandas contingency

使用大熊猫数据框,我从动物园数据集的每个要素构造所有列联表。列联表看起来像这样。

let b: Any = UIButton(frame: CGRect.zero)
if let button = b as? UIButton, let acc = button as? UIAccessibilityIdentification  {
    print("Its a button")
}

现在,我想从该表创建其他列联表,列联表的值是Count列中的值。例如,类型= 1的列联表看起来像这样(类型(T),国内(D)和Catsize(C))

Domestic  Catsize  Type  Count
0            0       1     7
0            0       2     11
0            0       3     4
0            0       4     8
0            0       5     4
0            0       6     7
0            0       7     9
0            1       1     26
1            0       2     3
1            1       1     6

包含值的输出表的计算公式如下:例如:当ANDing Domestic和Catsize值给出0(例如组合0 AND 1、1 AND 0和0 AND 0)并且Type =在图1中,有两条记录的计数分别为7和7。这些值的总和为33。类似地,类型0不等于1(2,3,4,5,6,7)的组合0 AND 1、1 AND 0和0 AND 0有7条记录,它们的计数相加(11 + 4 + 8 + 4 + 7 + 9 + 3),在右下角的单元格中提供值46。

对于Type = 2和3等需要进行相同的计算。

在这方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用-

df.pivot_table(index=['Type', 'Domestic'], columns=['Catsize'], values='Count')

输出

Catsize           0     1
Type Domestic            
1    0          7.0  26.0
     1          NaN   6.0
2    0         11.0   NaN
     1          3.0   NaN
3    0          4.0   NaN
4    0          8.0   NaN
5    0          4.0   NaN
6    0          7.0   NaN
7    0          9.0   NaN