Forward fill NaNs

danbihan · November 14, 2021
import pandas as pd
import numpy as np

clients = {
    'client_id' : [1001, 1001, 1001, 1002, 1002, 1002, 1003, 1003], 
    'ranking' : [1, 2, 3, 1, 2, 3, 1, 2],
    'value': [1000, np.nan, 1200, 1500, 1250, np.nan, 1100, np.nan]
}
clients_df = pd.DataFrame(clients)

def previous_nan_values(clients_df):
    
    clients_df = (
        clients_df.sort_values(['client_id', 'ranking'])
        .fillna(method = 'ffill')
        .sort_values(['ranking', 'client_id'])
    )
    return clients_df
    
print(previous_nan_values(clients_df))
Output

Comments

Please sign up or log in to contribute to the discussion.