What is better way to separate a column into categorical or continuous?

I’m not sure how to make difference between categorical and continuous.
In lesson3-rossman notebook, it seems relatively easy to find out which is which.
However, following pic ( about house-price prediction) seems difficult to separate and, even if not, it is tough to do in each columns.
So, what is criteria to separate columns?

(In bulldozer-dl notebook of ML course, following code is used to separate. Is this almost always good way to separate?:
cat_flds = [n for n in df_indep.columns if df_raw[n].nunique()<n_trn/50] )