我有一个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答案 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