df.fillna(df.mean(), inplace=True)
# Fill colB na's with avg of colA Groupings
df.groupby('colA')['colB'].transform(lambda value: value.fillna(value.mean()))
# Fill missing Lot Frontage with avg for Neighborhood
df.groupby('Neighborhood')['Lot Frontage'].transform(lambda value: value.fillna(value.mean()))
sub2['income'].fillna((sub2['income'].mean()), inplace=True)