按列值汇总Pandas DataFrame

时间:2018-03-26 16:48:47

标签: python pandas

我有一个Pandas DataFrame,每列都是二进制指示符1/0。它有4列(和6行)。我想生成一个DataFrame,它对相似的行进行分组,最后一个(5th)列显示适合该类别的行数。请参阅以下示例:

df = pd.DataFrame([[0,1,1,0],
         [0,1,1,0],
         [0,0,0,1],
         [0,0,0,1],
         [1,1,1,0],
         [1,1,1,1],
         [1,1,1,0]])

res = pd.DataFrame([[0,1,1,0,2],
         [0,0,0,1,2],
         [1,1,1,0,2],
         [1,1,1,1,1]])

我需要创建" res"来自df。

的DataFrame

1 个答案:

答案 0 :(得分:3)

这是groupby + size

df.groupby(list(df)).size().to_frame('size').reset_index()
Out[612]: 
   0  1  2  3  size
0  0  0  0  1     2
1  0  1  1  0     2
2  1  1  1  0     2
3  1  1  1  1     1