Skip to main content
 首页 » 编程设计

python之使用重复条件过滤 Python 中的行

2025年05月04日22bluestorm

我有一张 table :

     A       B     C     D     E     T 
    ----    ----  ---   ---   ---   ---  
0    2      3      5     10    21    5 
1    4      7      6      8    30   11 

我希望能够从 A-E 列中的任何列中删除至少没有一个与该记录的 T 列中的值匹配的值的行。 因此,例如,在第 0 行中,C 列中的值 5 与 T 列中的 5 匹配,因此我们保留该行。在第 1 行中,T 列中的值 11 与 A-E 列中的任何值都不匹配,因此我们删除该记录。执行此操作的最佳方法是什么?

请您参考如下方法:

更新:将 eq(==) 和 sum 与 axis=1 一起使用,如果大于 1,则某些列应该重复列 T 的值

df[df.eq(df['T'],0).sum(1).gt(1)] 
Out[84]:  
   A  B  C   D   E  T 
0  2  3  5  10  21  5