How to fill an missing values in a column based on another column
import pandas as pd
import numpy as np

shoes = pd.DataFrame({'Brand':['Ugg', 'Prada', 'Clark', 'Ugg', 'Clark'],
                     'Comment':[np.NaN, np.NaN, np.NaN, np.NaN, np.NaN]})

df_shoes = pd.DataFrame({('Ugg','Made from sheep'),
                     ('Prada', 'Made from pig leather'),
                     ('Clark', 'Made from Cow leather')}, columns=['Brand', 'Comment'])


shoes.merge(df_shoes, on=['Brand'], how='left', suffixes=('_x', '_y'))


The result will show like:


You can then drop the null columns.

EDIT: 
As discussed in the comments, in case for the edited question, you can do that:

shoes[shoes.Comment.isnull()].merge(df_shoes,on=['Brand'], how='left',suffixes=('', '_notnull'))

shoes.Comment.fillna(value=temp.Comment_notnull)