如何比较数据框系列中的两个对象

时间:2017-05-26 08:07:39

标签: java python pandas dataframe

我有一个像这样的数据框

  colA colB
0    1    A
1    1    B
2    2    C
3    2    D

我希望比较colA中的对象和输出行,如果object<下一行中的对象。我可以在这样的

这样做
for(int i=0;i<df[0];i++){
    if(df[i][0]<df[i+1][0]){
         for(int j=0;j<df[1];j++){
             System.out.print(df[i][j]);
         }
    }
}

我想要的是colA [i]的行

 colA colB
    1    B

但我不知道如何用Python做到这一点?

1 个答案:

答案 0 :(得分:1)

考虑以下方法:

In [85]: df[df.colA.diff(-1).lt(0)]
Out[85]:
   colA colB
1     1    B

Series.diff(-1)返回当前值和下一个值之间的差异:

In [10]: df.colA.diff(-1)
Out[10]:
0    0.0
1   -1.0
2    0.0
3    NaN
Name: colA, dtype: float64

.diff()返回先前值和当前值之间的差异:

In [9]: df.colA.diff()
Out[9]:
0    NaN
1    0.0
2    1.0
3    0.0
Name: colA, dtype: float64

lt(Val) - 是less than Val

In [13]: df.colA.lt(2)
Out[13]:
0     True
1     True
2    False
3    False
Name: colA, dtype: bool

与:

相同
In [14]: df.colA < 2
Out[14]:
0     True
1     True
2    False
3    False
Name: colA, dtype: bool