I have dataframe and there are NaN values:
col1   col2    col3
234    NaN     1
NaN    NaN     18
9      2       NaN
I have list with values [12, 15, 3] and I need to fill this columns:
Desire output
col1   col2   col3
234    15     1
12     15     18
9      2      3
I can do it with
for (col, mean) in zip(df.columns, means):
    df[col].fillna(mean, inplace=True)
But is any way to do it without loop?