python - 删除具有冲突标签的行

标签 python pandas numpy dataframe

假设我有一个如下所示的表格:

A   B 
1   bull 
1   bull 
1   pug 
1   bull 
2   pug 
2   pug 
3   dane 
3   dane 
4   shepherd

我正在寻找一个单衬来删除具有冲突标签的行。在上面的情况下,标记为 1 的行将被删除,而不管重复项如何,留下其他行。我目前的尝试是几行,在某些情况下会失败。

最佳答案

我正在使用 nuniquetransform

df[df.groupby('A').B.transform('nunique')==1]
   A         B
4  2       pug
5  2       pug
6  3      dane
7  3      dane
8  4  shepherd
<小时/>

您还可以使用 groupbynunique,保留唯一计数为 1 的行。

df[df.A.map(df.groupby('A').B.nunique()).eq(1)]

   A         B
4  2       pug
5  2       pug
6  3      dane
7  3      dane
8  4  shepherd 

关于python - 删除具有冲突标签的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54139243/

相关文章:

python - Flask - 在请求之间将值存储在内存中

python - Django 管理员 : JSONField default empty dict wont save in admin

python - 有人可以给我一个关于 WSGI 幕后细节与 Python 的其他 Web 界面方法的高级技术概述吗?

python - 将多列组合为单个日期时间的最佳方法是什么

python - 元组的 Numpy 随机选择

python - 使用带有权重的 numpy.average 对 pandas 数组进行重新采样

python - 动画 Matplotlib 面板 - blit 留下旧帧

python - Pandas 转向季度数据,但缺少季度数据

python - 在 Python Pandas 中计算跨数据帧的平均值/平均值

python - 将代码点的 numpy 数组与字符串相互转换