如何查找在熊猫数据框中出现最多的行项目

时间:2018-07-16 08:08:19

标签: python pandas dataframe apriori

我有一个类似这样的数据框:

    a   b   c   d   e   f
  ------------------------
0   0   0   1   1   0   1
1   1   0   1   1   0   0
2   0   0   1   1   0   1
3   1   0   1   0   0   0
4   0   0   1   1   0   1
5   0   1   1   0   0   0
6   1   0   1   0   1   1
7   0   0   1   1   0   1
8   1   0   1   1   1   0
9   0   0   1   1   0   1

如何查找出现次数最多的行和唯一项计数? 在这里0 0 1 1 0 1经常出现在行0,2,4,7,9中。

我尝试了apriori algorithm,但是如果我的数据很大,它将给我100多个规则。 .NB:我的真实数据不是01。这是模拟数据。

1 个答案:

答案 0 :(得分:2)

groupby用于所有带有size的列,并按最大值添加索引idxmax

out = df.groupby(df.columns.tolist()).size().idxmax()
print (out)
(0, 0, 1, 1, 0, 1)

对于索引值GroupBy.transform和比较值max

s = df.groupby(df.columns.tolist())[df.columns[0]].transform('size')
idx = s.index[s == s.max()]
print (idx)
Int64Index([0, 2, 4, 7, 9], dtype='int64')