data = pd.DataFrame([[1, 2, np.nan], [np.nan, np.nan, 6]], columns=['a1',
    'b', 'a2'])
vars = [col for col in list(data) if col.startswith('a')]
data.update(data[vars].fillna(value=1))
Попытка выбрать данные из всех столбцов, которые начинаются со строки из кадра данных pandas