Skip to content Skip to sidebar Skip to footer

Pandas: How Can I Check Multiple Columns If There Are Any Values That Are Smaller Than Previous Value?

Solution for a single column is already provided here: Pandas: Check if column value is smaller than any previous column value. However, my dataset consists of many columns and I d

Solution 1:

We can use DataFrame.diff with DataFrame.lt

df.diff().lt(0).add_suffix('_diff')

   c_diff  d_diff  e_diff
0   False   False   False
1    True   False   False
2   False   False   False
3   False   False   False
4    True    True   False
5   False   False    True

Solution 2:

You can operate on the whole dataframe:

df.lt(df.shift()).add_suffix('_diff')

gives you

   c_diff  d_diff  e_diff
0   False   False   False
1    True   False   False
2   False   False   False
3   False   False   False
4    True    True   False
5   False   False    True

And you can join:

df.join(df.lt(df.shift()).add_suffix('_diff'))

which gives:

   c  d  e  c_diff  d_diff  e_diff
0  3  5  8   False   False   False
1  1  5  8    True   False   False
2  5  6  8   False   False   False
3  6  7  8   False   False   False
4  2  1  9    True    True   False
5  9  3  3   False   False    True

Post a Comment for "Pandas: How Can I Check Multiple Columns If There Are Any Values That Are Smaller Than Previous Value?"