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

如何删除 Dataframe 中冲突的行?

如何删除 Dataframe 中冲突的行?

守着星空守着你 2023-12-12 21:06:31
我有一个分类任务,这意味着冲突会损害性能,即相同的功能但不同的标签。idx feature label 0     a      0 1     a      1 2     b      0 3     c      1 4     a      0 5     b      0我怎样才能获得如下所示的格式化数据框?idx feature label 2    b       0 3    c       1 5    b       0       Dataframe.duplicated()只输出重复的行,看来之间的逻辑运算df["features"].duplicated()并df.duplicated()没有返回我想要的结果。
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我认为您需要每组只有一个唯一值的行 - 因此使用GroupBy.transformwith DataFrameGroupBy.nunique、比较依据1和 过滤boolean indexing

df = df[df.groupby('feature')['label'].transform('nunique').eq(1)]

print (df)

   idx feature  label

2    2       b      0

3    3       c      1

5    5       b      0


查看完整回答
反对 回复 2023-12-12
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信