I want to iterate through dataframe column, ['Status'], and based on value calculate days since date in column ['Date'] and write to a third column,['Days']. import pandas as pd from datetime import date data={'Status':['Sold', 'Active', 'Sold', 'Active'], 'Date': ['2024-10-02', '2024-05-06', '2024-11-01', '2024-07-12' ], } df=pd.DataFrame(data) d=date.today() d=pd.to_datetime(d) df['Date']=pd.to_datetime(df['Date']) for i in df['Status']: if i=='Active': values=df['Date']-d else: values=0 df['Days']=values print(df) Expected output: Status Date Days 0 Sold 2024-10-02 0 days 1 Active 2024-05-06 -204 days 2 Sold 2024-11-01 0 days 3 Active 2024-07-12 -137 days But the calculation is passed for all four rows: Status Date Days 0 Sold 2024-10-02 -55 days 1 Active 2024-05-06 -204 days 2 Sold 2024-11-01 -25 days 3 Active 2024-07-12 -137 days Continue reading...