比较列中的连续值

jax*_*jax 0 python dataframe pandas

我想迭代一下下表中的记录(readingdate是排序并设置为索引),如果在上一行中的读数(即里程表读数)较大,则比较每个资产,然后打印一条消息。

readingdate        assetnumber  reading
2004-01-29 09:53:00     51737    2006.0   
2004-02-27 13:09:00     51737    6195.0  
2004-03-30 08:24:00     51737    11194.0  
2004-04-29 10:15:00     51737    14806.0  
2004-05-27 12:15:00     51737    18273.0   
2004-06-24 10:43:00     51737    21744.0   
2004-08-03 07:31:00     51737    24591.0   
2004-08-31 14:15:00     51737    27219.0   
2004-09-28 09:33:00     51737    29845.0  
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但显然是错误的。我想知道如何使用itterrows()或任何其他方法来执行此操作。

for i , row in df1.iterrows():
    if row['reading'] > next(row['reading']):
        print("Wrong Odometer")
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 6

Series.diff

if (df['reading'].diff(-1) > 0).any():
    print('Wrong Odometer')
Run Code Online (Sandbox Code Playgroud)

Series.shift

if (df['reading'] > df['reading'].shift(-1)).any():
    print('Wrong Odometer')
Run Code Online (Sandbox Code Playgroud)