[Python] pandas filling value until conditions in met

Discussão em 'Python' iniciado por Stack, Maio 26, 2025.

  1. Stack

    Stack Membro Participativo

    I have the following dataframe:

    df = pd.DataFrame({"A": ["sell", np.nan, np.nan, np.nan, np.nan, "buy", np.nan, np.nan, np.nan, np.nan],
    "B": ["buy", "buy", "sell", "buy", "buy", np.nan, "buy", "buy", "buy", np.nan],
    "C": ["sell", "sell", "sell", "sell", "buy", "sell", "sell", "buy", "buy", np.nan]},
    index=pd.date_range("2025-05-22", periods=10, freq="15min"))


    print df

    A B C
    2025-05-22 00:00:00 sell buy sell
    2025-05-22 00:15:00 NaN buy sell
    2025-05-22 00:30:00 NaN sell sell
    2025-05-22 00:45:00 NaN buy sell
    2025-05-22 01:00:00 NaN buy buy
    2025-05-22 01:15:00 buy NaN sell
    2025-05-22 01:30:00 NaN buy sell
    2025-05-22 01:45:00 NaN buy buy
    2025-05-22 02:00:00 NaN buy buy
    2025-05-22 02:15:00 NaN NaN buy


    I want to forward fill the NaN in "A" column until all 3 columns are equals. It should look like this

    A B C
    2025-05-22 00:00:00 sell buy sell
    2025-05-22 00:15:00 sell buy sell
    2025-05-22 00:30:00 sell sell sell
    2025-05-22 00:45:00 NaN buy sell
    2025-05-22 01:00:00 NaN buy buy
    2025-05-22 01:15:00 buy NaN sell
    2025-05-22 01:30:00 buy buy sell
    2025-05-22 01:45:00 buy buy buy
    2025-05-22 02:00:00 NaN buy buy
    2025-05-22 02:15:00 NaN NaN buy


    Any suggestion will be greatly appreciated

    Continue reading...

Compartilhe esta Página