Заменить пустые значения pandas

подскажите как заменить пустые значения быстро, имею таблицу

d = {'col1': [1, 2, np.nan, np.nan], 'col2': [1, 2, 3, 4]}
df = pd.DataFrame(data=d)

нужно заменить значения отсутствующие колонки в col1 на значения из col2 apply слишком долог для меня, как вариант np.where НО можно ли изменить код

df.loc[df.col1.isna(), ['col1']] = df.loc[df.col1.isna(), ['col2']]

что бы он работал не только c константой, или подскажите, пожалуйста, иные быстрые варианты?


Ответы (1 шт):

Автор решения: CrazyElf

Вообще-то метод fillna может принимать на вход Series, так что ему можно прямо нужную колонку передать, из которой он и возьмёт значения, которыми заменит NA:

df['col1'] = df['col1'].fillna(df['col2'])
→ Ссылка