#удаляем NaN в 'locality_name' для правильной обработки NaN в циклах ниже df.dropna(subset=['locality_name'], inplace=True) df.groupby('locality_name')['airports_nearest'].apply(lambda x: x.fillna(x.median())) #вывод: #print(df.isna().sum()) #airports_nearest 5432