col1 col2
15 2
17 4
14 5
20 10
21 11
19 11
18 12
20 6
22 7
21 8
22 8
25 6
21 7
首先,我对col2使用pandas.value_counts(),我使用三个bin(0,5)(5,10)(10,15).
然后,我想过滤col2值属于频率最高的前两个bin的行,在本例中为bin(5,10)和(10,15).
解决方法:
使用:
s = df.col2.value_counts(bins=[0,5,10,15]).nlargest(2)
df[pd.cut(df.col2, s.index).notnull()]
输出:
col1 col2
3 20 10
4 21 11
5 19 11
6 18 12
7 20 6
8 22 7
9 21 8
10 22 8
11 25 6
12 21 7
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。