如何查找 pandas 数据框中出现最多的行项目
How to find which row items are appearing most in a pandas dataframe
我有一个类似这样的数据框:
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 : 我的真实数据不是 0
和 1
。这是模拟数据。
使用groupby
by all columns with size
and for index by max value add 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')
我有一个类似这样的数据框:
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 : 我的真实数据不是 0
和 1
。这是模拟数据。
使用groupby
by all columns with size
and for index by max value add 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')