У меня есть фрейм данных, который может быть сгенерирован из кода ниже
df = pd.DataFrame({'person_id' :[1,2,3],'date1':['12/31/2007','11/25/2009',np.nan],
'hero_id':[2,4,np.nan],'date2':['12/31/2017',np.nan,'10/06/2015'],
'heroine_id':[1,np.nan,5],'date3':['12/31/2027','11/25/2029',np.nan],
'bud_source_value':[1250000,250000,np.nan],
'prod__source_value':[10000,20000,np.nan]})
Фрейм данных выглядит так, как показано ниже с Nan's
![enter image description here](https://i.stack.imgur.com/ILgao.png)
Что я хотел бы сделать, это
1) Заполнить na с 0 (ноль) для столбцов, заканчивающихся на «id» 2) Заполнить na «неизвестными» для столбцов, заканчивающихся на «value»3) Заполните "31.12.9999" для столбцов, начинающихся с "date"
Я попробовал описанный ниже подход, но он длинный и кажется, что он не элегантный
df2 = df.filter(regex='id$')
df2.fillna(0)
df2 = df.filter(regex='^date')
df2.fillna('12/31/9999')
df2 = df.filter(regex='value$')
df2.fillna('unknown')
Есть ли способ достичь этого за один раз?Как вы видите, я как бы повторяю те же самые шаги