Skip to main content
 首页 » 编程设计

python之比较多个行值

2025年05月04日16Free-Thinker

我想比较每一行的 A 值与其他列

这个问题比较复杂,但我试图在这张表中简化它:

     A    B    C  D 
0  1.3  1.0  1.1  1 
1  2.5  2.9  2.6  3 
2  3.1  3.0  3.2  2 

结果应该是这样的:

这里索引0中:1.3大于B,C,D中的值,则返回1,否则为0

     A    B    C  D  result 
0  1.3  1.0  1.1  1       1 
1  2.5  2.9  2.6  3       0 
2  3.1  3.0  3.2  2       0 

提前致谢

请您参考如下方法:

使用assign创建新列
使用 df.le(df.A, 0) 将列 'A' 与所有其他列进行比较
使用 all(1) 查找所有列的 True
使用astype(int)使其成为1或0

df.assign(result=df.lt(df.A, 0).all(1).astype(int)) 
 
     A    B    C  D  result 
0  1.3  1.0  1.1  1       1 
1  2.5  2.9  2.6  3       0 
2  3.1  3.0  3.2  2       0