Skip to main content
 首页 » 编程设计

python之DataFrame 检测一列何时变得比另一列大

2025年05月04日21cyq1162

我想知道有关检测一列中的值何时变得大于另一列中的值的代码。因此,在下面的示例中,行索引 1 B 变得比 A 大,而在行索引 3 中,A 变得比 B 大。我想要一个 DataFrame 突出显示第 1 行和第 2 行,以及哪个列比哪个列大。

In [1]: df 
Out[1]:  
   A  B 
0  3  2 
1  5  6 
2  3  7 
3  8  2 

期望的结果:

In [1]: df_result 
Out[1]:  
   RES 
0  0 
1  -1 
2  0 
3  1 

请您参考如下方法:

您可以使用 view 检查 A 大于 B 的位置转换为 int8并采取 diff :

df.A.gt(df.B).view('i1').diff().fillna(0, downcast = 'i1') 
 
0    0 
1   -1 
2    0 
3    1 
dtype: int8