Python中eq函数替代方法:筛选DataFrame列重复次数≠2的行
解决方案:筛选某列重复次数不等于2的行
哈哈,确实pandas里没有uneq()这个方法,咱们换这几种方式都能轻松实现需求:
方法一:使用
ne()方法(推荐,和eq()对应)ne()是pandas中专门用于判断“不等于”的方法,和你之前用的eq()(等于)是一对,直接替换就能用:df1 = df[df['group'].map(df['group'].value_counts()).ne(2)]方法二:使用Python原生的
!=运算符
用Python基础的不等于运算符,可读性更强,逻辑也很直观:df1 = df[df['group'].map(df['group'].value_counts()) != 2]方法三:对原条件取反
如果已经习惯了之前筛选“等于2”的代码,直接用~符号对原条件取反即可,相当于“保留不满足原条件的行”:df1 = df[~df['group'].map(df['group'].value_counts()).eq(2)]
这三种方法都能达到你要的效果,选哪个全看你自己的使用习惯~
内容的提问来源于stack exchange,提问作者PV8
相关产品推荐
相关产品推荐

