[Python] For loop in dataframe column

Discussão em 'Python' iniciado por Stack, Junho 5, 2025.

  1. Stack

    Stack Membro Participativo

    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...

Compartilhe esta Página