为了账号安全,请及时绑定邮箱和手机立即绑定

大熊猫掉落重复的地方条件

大熊猫掉落重复的地方条件

繁星淼淼 2022-09-20 15:33:10
我想基于一个子集,但也忽略列是否具有特定值。df.drop_duplicates()例如。。。                 v1      v2     v3      ID                                                          148         8751704.0    G      dog   123         9082007.0    G      dog  123         9082007.0    G      dog 123         9082007.0    G      cat   我想删除重复,但忽略如果等于这样的东西:[ID, v1]v3catfull_df.drop_duplicates([ID, v1], inplace=True, conditional=exclude v3 = cat)希望这是有道理的
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

布尔索引系列.复制和 pd 结合使用。索引.复制

df[~(df['v1'].duplicated() & df.index.duplicated()) | df['v3'].eq('cat')]

输出


            v1 v2   v3

ID                    

148  8751704.0  G  dog

123  9082007.0  G  dog

123  9082007.0  G  cat

如果不是索引:ID


df[~df[['ID', 'v1']].duplicated() | df['v3'].eq('cat')]


查看完整回答
反对 回复 2022-09-20
?
九州编程

TA贡献1785条经验 获得超4个赞

您可以使用按位和链接另一个条件,以确保它不是:catcat


df[~(df.reset_index().duplicated(['ID', 'v1']) & df.v3.ne('cat').values).values]


        v1     v2   v3

148  8751704.0  G  dog

123  9082007.0  G  dog

123  9082007.0  G  cat


查看完整回答
反对 回复 2022-09-20
  • 2 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号