Filling NaN values from a list with different shape
Here is solution for mapping by integers from date_mappings
by helper Index
by number of missing values by sum
. Solution working if difference between length of dict vs number of missing values:
m = df['date_1'].isna()
df.loc[m, 'date_1'] = (pd.Index(range(m.sum())) + 1).map(date_mappings)