I would like to fill missing values in one column with values from another column, using fillna method.
fillna
(I read that looping through each row would be
You can provide this column to fillna (see docs), it will use those values on matching indexes to fill:
In [17]: df['Cat1'].fillna(df['Cat2']) Out[17]: 0 cat 1 dog 2 cat 3 ant Name: Cat1, dtype: object