get first non-null value per each row from dataframe `df`,df.stack().groupby(level=0).first()