Trupti Chaudhari
Trupti Chaudhari

Reputation: 33

Compare values between rows in pandas python

enter image description here

I am new to pandas and I want to compare rows an then only enter into another for loop

for i in node:
    
    
    temp_df=df[(df['NODE'])==i]
    
    min_time=min(temp_df['time1'])
    max_time=max(temp_df['time1'])
    while min_time<=max_time:
        print(min_time)
        df['No.Of_CellDown']=temp_df['time1'].between(min_time,min_time + timedelta(minutes=5)).sum()
        print(count)
        min_time=min_time + timedelta(minutes=5)

I want to update conditions to check if Tech and Issue column has same value for row and row(-1) and then proceed to execute for loop in the given code

Upvotes: 0

Views: 60

Answers (2)

Manjunath K Mayya
Manjunath K Mayya

Reputation: 1118

Try this,

for index, row in temp_df.iterrows():
    if index -1 >= 0:
        if temp_df['Tech'][index-1] == row['Tech'] and  temp_df['Issue'][index-1] == row['Issue]:
            //Do your thing here
        else:
            print('different')

Upvotes: 0

Myccha
Myccha

Reputation: 1018

Try:

(df
 .assign(different_from_previous_row = lambda x: 
      (x['Tech'] == x['Tech'].shift(1)) 
    & (x['Issue']==x['Issue'].shift(1))
)

Upvotes: 1

Related Questions