2017-05-10 34 views
2

我有几个布尔列的DF,这里是摘录:按列获取计数熊猫

L1 MATCH L2 MATCH L3 MATCH L4 MATCH L5 MATCH 
0 True  True  True  False False 
1 True  True  False  False False 
2 True  True  True  True  False 
3 True  False  True  True  False 
4 True  True  False  True  False 

我想获得真正的计数VS假为每个列如下(或类似)。如果更容易,我也会采取下面的转置。

   True  False 
L1 MATCH  12345  6789 
L2 MATCH  12345  6789 
L3 MATCH  12345  6789 
L4 MATCH  12345  6789 
L5 MATCH  12345  6789 

回答

2

让我们用pd.concatsum

pd.concat([df.sum(),(~df).sum()], axis=1, keys=['True','False']) 

输出:

  True False 
L1 MATCH  5  0 
L2 MATCH  4  1 
L3 MATCH  3  2 
L4 MATCH  3  2 
L5 MATCH  0  5 
+0

维尔优雅和简单,我爱一行的解决方案! – Lisle

+0

是的,这是非常优雅的! – MaxU