如何在pandas数据框中计算重复行的数量?

19 浏览
0 Comments

如何在pandas数据框中计算重复行的数量?

我试图统计数据框中每种类型的行的重复次数。例如,假设我有一个pandas数据框如下:

df = pd.DataFrame({'one': pd.Series([1., 1, 1]),
                   'two': pd.Series([1., 2., 1])})

得到如下数据框:

    one two
0   1   1
1   1   2
2   1   1

我想象的第一步是找到所有不同的唯一行,我可以通过以下方式实现:

df.drop_duplicates()

这给我以下数据框:

    one two
0   1   1
1   1   2

现在,我想要从上面的数据框([1 1]和[1 2])中获取每个行在初始数据框中出现的次数。我的结果可能如下所示:

Row     Count
[1 1]     2
[1 2]     1

我应该如何进行最后一步操作呢?

编辑:

这里有一个更大的示例,以使问题更清晰:

df = pd.DataFrame({'one': pd.Series([True, True, True, False]),
                   'two': pd.Series([True, False, False, True]),
                   'three': pd.Series([True, False, False, False])})

得到:

    one three   two
0   True    True    True
1   True    False   False
2   True    False   False
3   False   False   True

我想要一个告诉我:

       Row           Count
[True True True]       1
[True False False]     2
[False False True]     1

0