首页 > 解决方案 > 删除 3 个值为 A 的数据框行

问题描述

数据样本:

id   col1 col2 col3 col4
1    100   100   100    a
2    200   100   100    b
3    100   300   100    c

应该变成:

id   col1 col2 col3 col4
2    200   100   100    b
3    100   300   100    c

试图使用

df = df[(df['col1'] != 100) & (df['col2'] != 100)]

但这删除了几乎所有行,而不是其中所有相同值的行

困难的部分是还有其他列不应该受到影响

标签: pandasdataframe

解决方案


我们能做的nunique

df[df[['col1','col2','col3']].nunique(1)>1]

然后

~df[['col1','col2','col3']].eq(100).all(axis=1)

推荐阅读